Download raw body.
On 2025/05/08 18:52, Christoph Liebender wrote:
> Am 07.05.25 um 16:48 schrieb Stuart Henderson:
> >
> > On 2025/05/02 17:51, Christoph Liebender wrote:
> > > Hi @ports,
> > >
> > > I recently submitted a patch to update www/anubis to v1.17.0 that also got
> > > applied to 7.7-stable. Turns out that the build produces an executable that
> > > does not work correctly. Cause being upstream deciding to complicate the
> > > build process, such that just go.port.mk is not enough to build the package.
> > > Upstream provides a Makefile that includes the required steps to produce a
> > > working binary. However, this involves more build dependencies, and most
> > > notably, npm packages, for which the ports system doesn't have a module...
> > > (right?)
> > >
> > > In any case, by submitting the initial faulty patch I feel responsible for
> > > the port's breakage, which is why attached you will find another patch for
> > > v1.17.0p0 that, at least, produces a working binary. However, I am not sure
> > > if the way I'm calling npm is the proper way, so the "comments?" really
> > > applies this time :)
> >
> > For now I've backed out -stable and -current to 1.15.2, patched to
> > disable dnsbl.
> >
> > Ports must be buildable without network access (assuming the distfiles
> > are available locally) so npm can't be used like that. To use npm in a
> > port build, it's necessary to create a pre-cached tarball and upload it
> > somewhere, disabling network fetches for build. See comms/zigbee2mqtt
> > for an example, but it's awkward and fragile and best avoided.
> >
> > Upstream provides a tar.gz that includes the go dependencies and
> > prebuilt JS/CSS assets, which is probably the way to go, but I haven't
> > succeeded in getting that to work yet. Diff for my current attempt
> > below.
> >
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/www/anubis/Makefile,v
> > diff -u -p -r1.7 Makefile
> > --- Makefile 7 May 2025 14:20:14 -0000 1.7
> > +++ Makefile 7 May 2025 14:48:08 -0000
> > @@ -1,15 +1,14 @@
> > COMMENT= proof-of-work proxy to protect web resources from scrapers
> > -MODGO_MODNAME= github.com/TecharoHQ/anubis
> > -MODGO_VERSION= v1.15.2
> > -
> > -DISTNAME= anubis-${MODGO_VERSION}
> > +V= 1.17.1
> > +DISTNAME= anubis-src-vendor-npm-$V
> > +PKGNAME= anubis-$V
> > CATEGORIES= www
> > HOMEPAGE= https://anubis.techaro.lol/
> > -EPOCH= 0
> > +SITES= https://github.com/TecharoHQ/anubis/releases/download/v$V/
> > # MIT
> > PERMIT_PACKAGE= Yes
> > @@ -18,17 +17,20 @@ WANTLIB= c pthread
> > MODULES= lang/go
> > -MODGO_LDFLAGS= -X github.com/TecharoHQ/anubis.Version=${MODGO_VERSION:S/v//}
> > +USE_GMAKE= Yes
> > -# for patches; remove when no longer needed
> > -WRKDIST= ${WRKSRC}
> > +do-build:
> > + mkdir -p ${WRKSRC}/vendor/github.com/TecharoHQ
> > + ln -fs ../../.. ${WRKSRC}/vendor/github.com/TecharoHQ/anubis
> > + cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} prebaked-build
> > + #cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} prebaked-build
> > -post-install:
> > +do-install:
> > + ${INSTALL_PROGRAM} ${WRKSRC}/var/anubis ${PREFIX}/sbin/
> > rm ${PREFIX}/bin/containerbuild
> > ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/anubis
> > (sed -E 's,^([^#].*=),export \1,'; echo) \
> > - < ${WRKSRC}/run/anubis.env.default \
> > + < ${WRKSRC}/run/default.env \
> > > ${PREFIX}/share/examples/anubis/anubis.env.default
> > -.include "modules.inc"
> > .include <bsd.port.mk>
> > Index: distinfo
> > ===================================================================
> > RCS file: /cvs/ports/www/anubis/distinfo,v
> > diff -u -p -r1.7 distinfo
> > --- distinfo 7 May 2025 14:20:14 -0000 1.7
> > +++ distinfo 7 May 2025 14:48:08 -0000
> > @@ -1,474 +1,2 @@
> > -SHA256 (anubis-v1.15.2.zip) = 7PJqjYqODTmlEKv4U2+ED6y7GAHn/scLi5nER2hC9jE=
> > -SHA256 (go_modules/github.com/!puerkito!bio/goquery/@v/v1.10.1.mod) = hHPM4EHwqFsmWz1ShOfbuhECBrp2vyarcZVm3/DEtwQ=
> > -SHA256 (go_modules/github.com/!puerkito!bio/goquery/@v/v1.10.1.zip) = HfrRFHPpua7xSZgKs+H5P0DmFuA4PucHz7uhQsm9R88=
> > -SHA256 (go_modules/github.com/a-h/htmlformat/@v/v0.0.0-20231108124658-5bd994fe268e.mod) = 4hCmNckY4iRhPrRZUTfxS/DlElcNBssp8VG4GmA22EI=
> > -SHA256 (go_modules/github.com/a-h/htmlformat/@v/v0.0.0-20231108124658-5bd994fe268e.zip) = JQSyjk9bAcRccGBOQOlJgLaZtcV95bZPcbOVb/K6zk8=
> > -SHA256 (go_modules/github.com/a-h/parse/@v/v0.0.0-20250122154542-74294addb73e.mod) = x37FPbSrUmPHADnRDZKOBziZs0g0A1WTiHobP6Kb3E0=
> > -SHA256 (go_modules/github.com/a-h/parse/@v/v0.0.0-20250122154542-74294addb73e.zip) = W1+tNiapX4SENNkEKtWgz+rDEqrXhWhWCBJ1D6P2Lcw=
> > -SHA256 (go_modules/github.com/a-h/templ/@v/v0.3.833.mod) = Qh1Bd5I9tjlxUVOVn1xsXAS3fmghqOkhXUyiNKBWRX0=
> > -SHA256 (go_modules/github.com/a-h/templ/@v/v0.3.833.zip) = iE1CDSuS3LNVL2xLoB4ZuNKfhDbkBqaamjs2OsGJdLw=
> > -SHA256 (go_modules/github.com/alecthomas/kingpin/v2/@v/v2.4.0.mod) = 17OszAg8LYhxB+e5mY0rfap993NS0WnmnW+75plfuL0=
> > -SHA256 (go_modules/github.com/alecthomas/kingpin/v2/@v/v2.4.0.zip) = 7x6m/q0h5fzJ4VMhh4iMjHxPPrvbAFh6tnoZJFIGymY=
> > -SHA256 (go_modules/github.com/alecthomas/units/@v/v0.0.0-20211218093645-b94a6e3cc137.mod) = ftH6kO7vq7UGWGCrf2fdM/5ysTVwVCejb0515qgQBls=
> > -SHA256 (go_modules/github.com/alecthomas/units/@v/v0.0.0-20211218093645-b94a6e3cc137.zip) = tiQ310pSMImvRroBFezhzhG8peMh/h4dTJduzKbueKo=
> > -SHA256 (go_modules/github.com/andybalholm/brotli/@v/v1.1.0.mod) = x7pmt1QVqWBHrPizJQk6nroJdhQbKGvFhSHy5u/elIg=
> > -SHA256 (go_modules/github.com/andybalholm/brotli/@v/v1.1.0.zip) = YbybdTZi4hAcY7/JVi9mDpzsqYZgEJSPGqzLBc+eJjo=
> > -SHA256 (go_modules/github.com/andybalholm/cascadia/@v/v1.3.3.mod) = +oXomPJIYHSRWfdjfBoHQSKaGbehFyeQybS6yPWr3as=
> > -SHA256 (go_modules/github.com/andybalholm/cascadia/@v/v1.3.3.zip) = zG2SFWPa1+IfajIMxBVxTSWjRzz43q3lHkQ7SqT8ANg=
> > -SHA256 (go_modules/github.com/beorn7/perks/@v/v1.0.1.mod) = yHCz/lC2lE+rCVsGII2ciJh2PpFzyx7tMljD1YMJumY=
> > -SHA256 (go_modules/github.com/beorn7/perks/@v/v1.0.1.zip) = Jb2eLZSsp3Dm28H1NyX4T2r0Qy9jHTXdLEb5bvBRLxo=
> > -SHA256 (go_modules/github.com/cenkalti/backoff/v4/@v/v4.3.0.mod) = g9QSLUkSfxPNqV+3k5fP5RbCPN1/wHoohq12TdFCK+M=
> > -SHA256 (go_modules/github.com/cenkalti/backoff/v4/@v/v4.3.0.zip) = 7yILHr87/0xGu61bLhIwMOgStyK56dyIvDWVb5xiLCo=
> > -SHA256 (go_modules/github.com/cespare/xxhash/v2/@v/v2.3.0.mod) = oJD46q9ZzCrfFjKZ6+/nl+Hco/at0sjoimo7kLpTiwI=
> > -SHA256 (go_modules/github.com/cespare/xxhash/v2/@v/v2.3.0.zip) = FFomzcfEnbVmAXuAfEmJ7n993rVpQj6cuZ+ZX6w2IdM=
> > -SHA256 (go_modules/github.com/cli/browser/@v/v1.3.0.mod) = JCtqftFtAZRErdebinUKBmGs//0x8eIaqCbh9FgxCQU=
> > -SHA256 (go_modules/github.com/cli/browser/@v/v1.3.0.zip) = XXQ3Kfy21UZ/IGMo5HawvcEkQmp34tjhMyCtkpr9ASc=
> > -SHA256 (go_modules/github.com/coder/websocket/@v/v1.8.12.mod) = YdYNzsq9JOGdH9micX/q5XC0Ww5hmsySxKpUODjRYNk=
> > -SHA256 (go_modules/github.com/coder/websocket/@v/v1.8.12.zip) = rY0yOXDARnn0Vm7n25iUZQjDfN0hpGqHXVJX1jGp6ZA=
> > -SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.0.mod) = vLKTkyUSN7eaF7bBm/KRNPQ+j0OMMZiYj81GGhzfBcw=
> > -SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.mod) = vLKTkyUSN7eaF7bBm/KRNPQ+j0OMMZiYj81GGhzfBcw=
> > -SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.2-0.20180830191138-d8f796af33cc.mod) = vLKTkyUSN7eaF7bBm/KRNPQ+j0OMMZiYj81GGhzfBcw=
> > -SHA256 (go_modules/github.com/davecgh/go-spew/@v/v1.1.2-0.20180830191138-d8f796af33cc.zip) = tNCSOxabGU8AFuxG898asMaOJ5mXQ+Q/4t5Z7LJIQSg=
> > -SHA256 (go_modules/github.com/deckarep/golang-set/v2/@v/v2.6.0.mod) = iIV+4hvgf5AHTnmEE+PxqtjiC5+H+XETQcwfsUlxfIA=
> > -SHA256 (go_modules/github.com/deckarep/golang-set/v2/@v/v2.6.0.zip) = Vp+3qV82X8IdtVwElji9VseO7D8xCri8fQ1w02mIfKo=
> > -SHA256 (go_modules/github.com/facebookgo/ensure/@v/v0.0.0-20160127193407-b4ab57deab51.mod) = TIzsE2lVUAXpEF3h1n/KZqCXEMrx/6ly0wCpTNbXpGc=
> > -SHA256 (go_modules/github.com/facebookgo/ensure/@v/v0.0.0-20160127193407-b4ab57deab51.zip) = qWxpwrWQLgODE57nCJh3pa4t3NTrpCpZXRO1cJB9P9w=
> > -SHA256 (go_modules/github.com/facebookgo/flagenv/@v/v0.0.0-20160425205200-fcd59fca7456.mod) = SzZluF42M9Y1q7E+6hLia0cPzjdyP4V6qbqEfTePBw4=
> > -SHA256 (go_modules/github.com/facebookgo/flagenv/@v/v0.0.0-20160425205200-fcd59fca7456.zip) = te8qjrQIvayBkvIHhu9mpTuWreRvZnrw+QnEiQxO2o8=
> > -SHA256 (go_modules/github.com/facebookgo/stack/@v/v0.0.0-20160209184415-751773369052.mod) = zhxNEyKdP912p6gjXA6oDtHFXky3e9ByZIm/lBuvLL4=
> > -SHA256 (go_modules/github.com/facebookgo/stack/@v/v0.0.0-20160209184415-751773369052.zip) = Cv0YqDlMqinpS9WKQuDSvgeTn52vGQqboqlH+cvUuho=
> > -SHA256 (go_modules/github.com/facebookgo/subset/@v/v0.0.0-20150612182917-8dac2c3c4870.mod) = fMMIdFu1FUPkfLfeK3xSP6wOPqeRkayn5zQBI5CYfMg=
> > -SHA256 (go_modules/github.com/facebookgo/subset/@v/v0.0.0-20150612182917-8dac2c3c4870.zip) = uxjGeBd+GqquIJot6cKLW3rMNOWP4AUXuEepRgvULfI=
> > -SHA256 (go_modules/github.com/fatih/color/@v/v1.16.0.mod) = 4rsgJoIc75aeB43l/nW4y6KDQa4dTtnDeMO3fj2cfBU=
> > -SHA256 (go_modules/github.com/fatih/color/@v/v1.16.0.zip) = hxnz9UQ9OHVGMW6YEFtXk9nDeNvbn01gcorER31a6t8=
> > -SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.7.0.mod) = MI452vopWeMzeMZTboGNxuosA9ssIQoY3LmwG3KmD18=
> > -SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.7.0.zip) = +Y8IqVIk8sene2KqSEDO/klw8P8A4KAn1+RXw991K7I=
> > -SHA256 (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.3.mod) = ihOMeCWhN17bxszmA3s40Qu423693HuIbiKpRgUBrKM=
> > -SHA256 (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.4.mod) = ihOMeCWhN17bxszmA3s40Qu423693HuIbiKpRgUBrKM=
> > -SHA256 (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.4.zip) = hdyy4EhtG8LlHwdFLuGkfWqW1uK5jROFy6W+686RC7U=
> > -SHA256 (go_modules/github.com/go-stack/stack/@v/v1.8.1.mod) = WYhSUpCPRBkdJCwjhPvMELVRdj61ecdsMTAe8rIxGUs=
> > -SHA256 (go_modules/github.com/go-stack/stack/@v/v1.8.1.zip) = lEogTeAicsVximgZ8fT21DOg71DKnnNxVPzq50JpRHc=
> > -SHA256 (go_modules/github.com/golang-jwt/jwt/v5/@v/v5.2.2.mod) = PqmkgQEE/ra/wm7oBefkJ6AY7klwZeexsRfAEx5O4wo=
> > -SHA256 (go_modules/github.com/golang-jwt/jwt/v5/@v/v5.2.2.zip) = J4mA2eUkmLfFS68h/tIDuUKqHQi39i7sSUEQthtv08k=
> > -SHA256 (go_modules/github.com/golang/protobuf/@v/v1.5.0.mod) = c4y7HelrZ6YjisO4CBzYsb+w2uvPbJu+jL221zuuzRk=
> > -SHA256 (go_modules/github.com/golang/protobuf/@v/v1.5.0.zip) = 3rOyrEdqf3RoUJH6YMWdUBEMfh0zPqeCgUIthEHyQR0=
> > -SHA256 (go_modules/github.com/google/go-cmp/@v/v0.5.5.mod) = QDarVjaqQr0xMpbNO/y0yIkSdgxWqeZlWuQi2HZ8gNo=
> > -SHA256 (go_modules/github.com/google/go-cmp/@v/v0.5.8.mod) = 58dmnUod1Ym6PgJLon9D8pPbYR/gdc4g17iENw1j/r0=
> > -SHA256 (go_modules/github.com/google/go-cmp/@v/v0.5.9.mod) = 58dmnUod1Ym6PgJLon9D8pPbYR/gdc4g17iENw1j/r0=
> > -SHA256 (go_modules/github.com/google/go-cmp/@v/v0.6.0.mod) = 58dmnUod1Ym6PgJLon9D8pPbYR/gdc4g17iENw1j/r0=
> > -SHA256 (go_modules/github.com/google/go-cmp/@v/v0.6.0.zip) = S06b9sSCEQgGUbSR37SNaLc2xmowW8+UYFYG4bouqko=
> > -SHA256 (go_modules/github.com/h2non/filetype/@v/v1.1.3.mod) = gi4IbqdszwuIOVRY6sirWr7SHdY1md+C09RtaJi+ukg=
> > -SHA256 (go_modules/github.com/h2non/filetype/@v/v1.1.3.zip) = ftH1aUQoSPs/a8Q1ktoLFHlwV81goMmDPOsV3bjBGOk=
> > -SHA256 (go_modules/github.com/jpillora/backoff/@v/v1.0.0.mod) = vVTHrC9+ZiFhIBdJ1ig6I0ZcrnO6o4+lp86WJ3EDxns=
> > -SHA256 (go_modules/github.com/jpillora/backoff/@v/v1.0.0.zip) = +FZpLHJRQ8SbnM6r+8qLyT09vehKCqpT+ybtN3TCIMw=
> > -SHA256 (go_modules/github.com/json-iterator/go/@v/v1.1.12.mod) = UY5Xwi0XgcWaszeIyan8LtxDWD73yfyIkqNJDBLWEiY=
> > -SHA256 (go_modules/github.com/json-iterator/go/@v/v1.1.12.zip) = 0AHqVwga/Q43hGfI9Km2pRJZmWu4u3Y/eBB+rxL5lQE=
> > -SHA256 (go_modules/github.com/julienschmidt/httprouter/@v/v1.3.0.mod) = an1sxZcYSgyz/a/is1XYRMeHmjdRt/gd7I/wIWzHu30=
> > -SHA256 (go_modules/github.com/julienschmidt/httprouter/@v/v1.3.0.zip) = 5FfczXAV80BmTjuM/UGZdHE4LaL0p0PuVb5Tmrxsofk=
> > -SHA256 (go_modules/github.com/klauspost/compress/@v/v1.17.11.mod) = ymsJTYZy8APb3NIJE4kiEwju3jYmGFrJaJyhtsWiw7g=
> > -SHA256 (go_modules/github.com/klauspost/compress/@v/v1.17.11.zip) = iN6oAMxqEcy53S8N1IfzDocBhwq9/BEkXkHc/J89Qo4=
> > -SHA256 (go_modules/github.com/kr/pretty/@v/v0.3.1.mod) = hPPkCAOx69SoAuVXlLmZffCxc8SAnoVy/5BC7FWMobw=
> > -SHA256 (go_modules/github.com/kr/pretty/@v/v0.3.1.zip) = 7PWkrySCbDrXWM4GQQygji1Y5NlQU747nd4uFIUsDNw=
> > -SHA256 (go_modules/github.com/kylelemons/godebug/@v/v1.1.0.mod) = FgWHHolTMaOfWVJVnrvJEijYa4EANU+Fe1YoZuyluxM=
> > -SHA256 (go_modules/github.com/kylelemons/godebug/@v/v1.1.0.zip) = 270M6ML0kyuwNwTXMCayGvEr1o1bj0eY2/EKSHorbRM=
> > -SHA256 (go_modules/github.com/mattn/go-colorable/@v/v0.1.13.mod) = 1nQ64urmVxYSLxK0LJ8/g6gFwK4yvTxVPUpvG8uSQ6U=
> > -SHA256 (go_modules/github.com/mattn/go-colorable/@v/v0.1.13.zip) = CL4yLcxYSp/P3lyvDPh4tOEc2Y8lLjK8cE6SxaS6nRU=
> > -SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.16.mod) = cUdm7ILWfbiVreiva4BUrUMMPOpeFbOoiPI+0vPhuGM=
> > -SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.mod) = Huq+8bTZjbc8bCBzKJFjZJvJoERVKsqGudWS/oTqocg=
> > -SHA256 (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.zip) = 8tX4nKRRV34XRkubtZbcDQ7OzsteqmNiLEG1fNC3uMw=
> > -SHA256 (go_modules/github.com/mitchellh/go-ps/@v/v1.0.0.mod) = TJzxfz/fKMoPlcFeG/l247UGW+vsHnaoBSNz8yqYRsQ=
> > -SHA256 (go_modules/github.com/mitchellh/go-ps/@v/v1.0.0.zip) = 8vBACx1eE2QZ2u0nXCepMLD1RHrBK7is092+OVR7KDQ=
> > -SHA256 (go_modules/github.com/modern-go/concurrent/@v/v0.0.0-20180306012644-bacd9c7ef1dd.mod) = J6Xp8FxxCJtv1eEZ/ByM6B8MFtpOwzVxV7HYXiuoWuI=
> > -SHA256 (go_modules/github.com/modern-go/concurrent/@v/v0.0.0-20180306012644-bacd9c7ef1dd.zip) = ke9JWZvsRZhp2U/z3sEohxq2a9LfphBB8eEWn5tKgHM=
> > -SHA256 (go_modules/github.com/modern-go/reflect2/@v/v1.0.2.mod) = CZ7ljsIQFVKAaS+eI2D1IycuUl8GJydUvnoqRNv6BiM=
> > -SHA256 (go_modules/github.com/modern-go/reflect2/@v/v1.0.2.zip) = 9G9BQJwudCk/gs/mxwtdWCv/itoBBqfT/1cGUgxQwhw=
> > -SHA256 (go_modules/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.mod) = kNj9ygAOBddRz6+xVG9KFEClaWqwbIyRw2XPm7vIvO8=
> > -SHA256 (go_modules/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.zip) = PXzheRZ3mJC+AuprPdY0XDwwwd9QKtnYtbmzEOY2r9k=
> > -SHA256 (go_modules/github.com/mwitkow/go-conntrack/@v/v0.0.0-20190716064945-2f068394615f.mod) = PxWlGPNyKPLQjGtDdi1DhppauK57o7USS/lhA15xzBg=
> > -SHA256 (go_modules/github.com/mwitkow/go-conntrack/@v/v0.0.0-20190716064945-2f068394615f.zip) = 1vxRNJDVxz4/ZO3jzxi6lzpPjvTDnJgWzGCA45yMSAo=
> > -SHA256 (go_modules/github.com/natefinch/atomic/@v/v1.0.1.mod) = ghVXcLl/fQ0hNBCy1oMR++aY+tSZLKDP+IVSSOs4m9U=
> > -SHA256 (go_modules/github.com/natefinch/atomic/@v/v1.0.1.zip) = Jd9Klye9h1BVeoSNkGZQPC4LF4iCG+Tbhzd/0gIlTtQ=
> > -SHA256 (go_modules/github.com/orisano/pixelmatch/@v/v0.0.0-20230914042517-fa304d1dc785.mod) = ihp+3Kw8+psxHIXH2LocC5AWskB1hxsMBjjwSbOt5bU=
> > -SHA256 (go_modules/github.com/orisano/pixelmatch/@v/v0.0.0-20230914042517-fa304d1dc785.zip) = C4MuTy7f2ZP2WZLQrNahO9tl0NKo0Y7QTyJx6EJ8n2c=
> > -SHA256 (go_modules/github.com/playwright-community/playwright-go/@v/v0.5001.0.mod) = G5+m8K29EJ0yCQHo2er+NBoA1Cvba/nUsRKVvKLIo24=
> > -SHA256 (go_modules/github.com/playwright-community/playwright-go/@v/v0.5001.0.zip) = n+C8uszGYKyxP9cDmPNoh5RKcDqN0Gdd5sDDjdmkqLQ=
> > -SHA256 (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.mod) = dLLnZushU3eGTVh7rfV+lVIfaS0qeGCzx3WQk/nJvsI=
> > -SHA256 (go_modules/github.com/pmezard/go-difflib/@v/v1.0.1-0.20181226105442-5d4384ee4fb2.mod) = dLLnZushU3eGTVh7rfV+lVIfaS0qeGCzx3WQk/nJvsI=
> > -SHA256 (go_modules/github.com/pmezard/go-difflib/@v/v1.0.1-0.20181226105442-5d4384ee4fb2.zip) = JP9F41b2OKU70Mif/5Yfvq7P2w3F5ILO7QoiMODl87c=
> > -SHA256 (go_modules/github.com/prometheus/client_golang/@v/v1.20.4.mod) = HHUm4o6f3nSOuRNf2N27Gqcoi6hxIJEK0RnrOtPmGmo=
> > -SHA256 (go_modules/github.com/prometheus/client_golang/@v/v1.21.1.mod) = C2gfZg7UFZFsfrZuuQ1ih29mGnoFp1QFFZwGdNLiGzw=
> > -SHA256 (go_modules/github.com/prometheus/client_golang/@v/v1.21.1.zip) = UuztzrQRXaYn4nb67WDyv808acygY5vcrEp7wsRy/2E=
> > -SHA256 (go_modules/github.com/prometheus/client_model/@v/v0.6.1.mod) = k8w2b7Lj/ek/Y40H2KOFbfhUoqD8OHthDkq/1RG9HlY=
> > -SHA256 (go_modules/github.com/prometheus/client_model/@v/v0.6.1.zip) = jNRwO08at+qkuSXAahdLyEyTUU0JaawqILpREgzUyrc=
> > -SHA256 (go_modules/github.com/prometheus/common/@v/v0.62.0.mod) = j5cqNWdA223IFOfXIhP80NDTOr6/EXQA0swkPIOdV/s=
> > -SHA256 (go_modules/github.com/prometheus/common/@v/v0.62.0.zip) = VvDHZknrCd7kztvK4KHegEC+noDljWRoGQqHVN5iHVk=
> > -SHA256 (go_modules/github.com/prometheus/procfs/@v/v0.15.1.mod) = TnQkf8yGT8Rwvd9t/k9cH1ZPB2SDSD36xgEv3CtsonE=
> > -SHA256 (go_modules/github.com/prometheus/procfs/@v/v0.15.1.zip) = 0xrRPxrhIdhC/w8kPQKcJH5ocQ7auKNY1jZqZ7f+qm0=
> > -SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.10.0.mod) = ddufBjI3Ckrz4bglzekbNJzpLpm6JuGwXxaUv28JQds=
> > -SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.11.0.mod) = zRKUMvaTrNtOkSxjkyyxIG1UWcjboC3sG0GPgH3LeOs=
> > -SHA256 (go_modules/github.com/rogpeppe/go-internal/@v/v1.11.0.zip) = NinUsuRX/bpenVGjduK+rZsoogaW+pBbcBx5JQGIxOM=
> > -SHA256 (go_modules/github.com/rs/cors/@v/v1.11.0.mod) = nG5VMbYyiuSk2GymqSWKpExkh4k08NCA1oIk2Q1KyP0=
> > -SHA256 (go_modules/github.com/rs/cors/@v/v1.11.0.zip) = 5N7Jy361OZ+ciBfsaeUto7rchKc7J0hjm0M1/tS3tfQ=
> > -SHA256 (go_modules/github.com/sebest/xff/@v/v0.0.0-20210106013422-671bd2870b3a.mod) = JJ2IfoygxNi3Qxk4sojXmE54J12kU4XIc9ObjGjyHf4=
> > -SHA256 (go_modules/github.com/sebest/xff/@v/v0.0.0-20210106013422-671bd2870b3a.zip) = dMXvy7HqoHJ/rN5SzTuQsGL9PmcBW5/5SAY/foD+HiE=
> > -SHA256 (go_modules/github.com/stretchr/objx/@v/v0.1.0.mod) = E1A1TVLSKHpiM27MDVYjLUxHaZr5u6ScZ8K0glTamPE=
> > -SHA256 (go_modules/github.com/stretchr/objx/@v/v0.1.0.zip) = H6ENq0BO1/yO0qAz+HhBh9XfNRPO04Qc455G03hQ6x0=
> > -SHA256 (go_modules/github.com/stretchr/testify/@v/v1.10.0.mod) = wKZIoDfaVKawLoqBGx05F9SdxOGEHNdW8o8MTxWTkzw=
> > -SHA256 (go_modules/github.com/stretchr/testify/@v/v1.10.0.zip) = Nsh1c1J6l86X/BXOKhAeZeXrs1DbFC0J9jNYDLjVyDk=
> > -SHA256 (go_modules/github.com/stretchr/testify/@v/v1.4.0.mod) = awx7cQMNT8VdTm5uJMC/wCViE0H3YUHjrsAETEzomVA=
> > -SHA256 (go_modules/github.com/stretchr/testify/@v/v1.7.0.mod) = //gWjZjmoHFWxFShtuklUJ8xd+lsFVUW1/lrQHnMo78=
> > -SHA256 (go_modules/github.com/stretchr/testify/@v/v1.8.4.mod) = BeJs0GkoWjPPKvRv2s3vVp1a4YXnljp2wBeDKPaOl/k=
> > -SHA256 (go_modules/github.com/tidwall/gjson/@v/v1.17.0.mod) = 2U7s2AUM/8lXuZvtijCO/qpmmsE4VCkNCBot7VR4r5M=
> > -SHA256 (go_modules/github.com/tidwall/gjson/@v/v1.17.0.zip) = i3HzD31yfJeYYdZOVJoZEeTNNtRwSBtR2imYuZSzxMY=
> > -SHA256 (go_modules/github.com/tidwall/match/@v/v1.1.1.mod) = AjZOUVMn2ZiNH2vTevnFhPi5jTtPQ/nh8Y4m12rsD0Q=
> > -SHA256 (go_modules/github.com/tidwall/match/@v/v1.1.1.zip) = K6QffyczDUng5DLL+Wv5ByCjPkqXvlj+U/Y6fmbwTTc=
> > -SHA256 (go_modules/github.com/tidwall/pretty/@v/v1.2.1.mod) = blxfpJPY8Y6JdLOO1j6McYY8zlnmWdmNDvhBe/gePs8=
> > -SHA256 (go_modules/github.com/tidwall/pretty/@v/v1.2.1.zip) = kydXm/nmEN51Put8NcjPHj9W5uViPL9l5HvIB2Aj0as=
> > -SHA256 (go_modules/github.com/xhit/go-str2duration/v2/@v/v2.1.0.mod) = ZbS01/FCuR+B4rQmMfmANgAhpypoAYJRCbPlhe3QJVM=
> > -SHA256 (go_modules/github.com/xhit/go-str2duration/v2/@v/v2.1.0.zip) = kH2xvfNiVoGR5ln4IznCGkAx1DO8WsUvNt4j7s64yyY=
> > -SHA256 (go_modules/github.com/yl2chen/cidranger/@v/v1.0.2.mod) = RFftnJFHJvjeh6Z5bczpCIoR+fe+vCCetY//yPhnIXY=
> > -SHA256 (go_modules/github.com/yl2chen/cidranger/@v/v1.0.2.zip) = 9DHDm4Wx1hgSTiXEFiU8UNQRK0u+dgG+IXvFgoA0CtM=
> > -SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 7n/kRmIDoB06wZrcE0zeyZvG3nGZLCjz3Zp0SAv/BgM=
> > -SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = u0GmArF0NF/aOSyK2D/MkyF8KFx2NplndjC+kP63peM=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20190308221718-c2843e01d9a2.mod) = M+0HClpm4JYGhaxThkQOG1mJnnTYo4oRgGhecqIZXe0=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.mod) = zWMRYSoqpNDX4DxBs6ofvC1fiVqz9hCJ+rgL/p+PVIU=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.13.0.mod) = 5/Nu6cqqredrdWX8aGItzI/a9tBd3uPn1cyuSWiNn00=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.19.0.mod) = +LWV5clhCTxod7lq9nn0MyIlSlMIexH9JkVkLmk779U=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.23.0.mod) = i77G1cwXKvJKSSTQVmVXoqZctKzKzBGb3r7yti5IGCU=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.31.0.mod) = 2bd+OUpoB1h3y1O1A0UXvP9aDVN+dYzeV45e0gcTpew=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.36.0.mod) = 0DU5tvWqV0QlA/oKkVHtgUB79x+QGS0NovosBv95CrI=
> > -SHA256 (go_modules/golang.org/x/crypto/@v/v0.36.0.zip) = hrtIdbPSvRc7gg0tgdSuYwUI+mUYOkTawsuRXk+QQYA=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.12.0.mod) = YkVnRZxumUesSr3gtwNO5h3Ltqk3P1lwCUwLs+gSGWQ=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.15.0.mod) = XErAMQolMwdXA5zPOpjnX+/by31ETd0EkjAAOkSUW94=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.17.0.mod) = XErAMQolMwdXA5zPOpjnX+/by31ETd0EkjAAOkSUW94=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.20.0.mod) = XErAMQolMwdXA5zPOpjnX+/by31ETd0EkjAAOkSUW94=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.24.0.mod) = H7itL3IBzXm/F4V4s1qurRcgyrK4z+o1uZsltgg58e8=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.24.0.zip) = Go73e7TUHBp9P6XQyvL+WZ8U6sEPRzYp4xVG8SdZuJ8=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.6.0-dev.0.20220419223038-86c51ed26bb4.mod) = QtGQI/+PLq5wC8VJXzcezZmKItGbqYXQr19pkAslQIM=
> > -SHA256 (go_modules/golang.org/x/mod/@v/v0.8.0.mod) = YkVnRZxumUesSr3gtwNO5h3Ltqk3P1lwCUwLs+gSGWQ=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20190620200207-3b0461eec859.mod) = 5u/a94opUD8IDPbSYV4onPsdnjq31XD1NmjsorSrQdo=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20210226172049-e18ecbb05110.mod) = /vWJbRA6C85QVf216W6DCUQzR5JDeGU0dxjtzrYzNIo=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20220722155237-a158d28d115b.mod) = sxXFJkfS2i925c2502fh1nJ3hCNqm/+2EhkrGbEKEo0=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.10.0.mod) = 07fiNv8J5jIr5IkXAhbgGNMiGGLxoFPctj5T6rhTPBc=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.15.0.mod) = PRBkbW8I2OioVtbyLyzXBsPivgES63dyY8/ROSx25LQ=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.21.0.mod) = Du8+n+f2aL5bTSTI8SUcbFAtEWiVPICBrJ3D85nGTwY=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.25.0.mod) = E37lK1TBC0eevmuIegIG+09UWB9Uuik7f0u2gs9Sn2c=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.33.0.mod) = RiKZCCjFV/NMHmS5Z/3vXOC6bEOixGakrbsLyqyo5cE=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.37.0.mod) = QM4pKslRF68tWVcPIkktFySFRcQIR+VzwJJKcMl1ryQ=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.37.0.zip) = WsPFJsB4y8z7YArkms0hcFupfp9w54EmGMuwYWmF34M=
> > -SHA256 (go_modules/golang.org/x/net/@v/v0.6.0.mod) = Qex26iFy8+4wMeOPmlNZOaWE1rs170gIVP3LjCAmcBs=
> > -SHA256 (go_modules/golang.org/x/oauth2/@v/v0.24.0.mod) = ecZtbrNNqXbsls1FkUUSm6LYM4TRSEsLih39LMxmbYA=
> > -SHA256 (go_modules/golang.org/x/oauth2/@v/v0.24.0.zip) = /Q+nOvufehCZvqRMEtwrgHgybxbTs06+vBdO/fA1vOM=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20190423024810-112230192c58.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.10.0.mod) = cA5dsA3SaqGaF9zl/FUkNtYPaMVgbIW4IfJMPWByoVE=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.12.0.mod) = cguY8b8DPWtkpFTKjCnNym6SZat9cNs7g03/SVYPFYc=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.12.0.zip) = o1SB5a5z5R7wHPQrytCcO3O7Okq7Z9SV1KV1AhVB7QI=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.3.0.mod) = 7Q/wxQgadUz8vnaMvPYMY5dbNddufXuZxayb+m2YKFE=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.6.0.mod) = cA5dsA3SaqGaF9zl/FUkNtYPaMVgbIW4IfJMPWByoVE=
> > -SHA256 (go_modules/golang.org/x/sync/@v/v0.7.0.mod) = cA5dsA3SaqGaF9zl/FUkNtYPaMVgbIW4IfJMPWByoVE=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = iWkRXko5EIhIMk55ob2KhEUjDm46rMvp+AV/tQ//yME=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20201119102817-f84b799fce68.mod) = GBl56L1X0tngZBgtqGyaYRGqaXVeiI8IQx7OR0Kuw0M=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20210615035016-665e8c7367d1.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220520151302-bc2c85ada10a.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220722155257-8c9f86f7a55f.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220811171246-fbc7d0a398ab.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.12.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.13.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.14.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.17.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.20.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.28.0.mod) = 0iezJfYh9OvijTm6dz6pm4cPOTt8CcNFksNlsW3VYN4=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.31.0.mod) = 9n4+GPTAjmCn6Acmqza2kf3Opbga4caW/2TK9Ri8/j0=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.31.0.zip) = VfglVgLHpoQZdFlDKYiT8Kg9bWaWGZz+a2RAVGaVCfM=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.4.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.5.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.6.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/sys/@v/v0.8.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
> > -SHA256 (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240228155512-f48c80bd79b2.mod) = gEMD+LHDAkNrxEjGUXzz8yIWYR8cf/1ytS3yppVlpcY=
> > -SHA256 (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240521205824-bda55230c457.mod) = txKIwdA6Q0+OoW7agOTdsHM8vdTtmW9KtmFv1dv3arM=
> > -SHA256 (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240521205824-bda55230c457.zip) = joZJM3lz0GTMRPqFh4fbfQ65DwgGgHNJdm0YDtaIn1w=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20201126162022-7de9c90e9dd1.mod) = TLqxT3cGdxsnHZlaGzzBMf5aJGqtx+5tG6bwvYlHgfo=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = dAeU4pFPXMh+JWVsWEMiKyxlZlghIF9FYyoEd8jT95s=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.12.0.mod) = wpIGWJdMmcgFJ4+azIRDYmbw9101cToIjB80DiZFM10=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.17.0.mod) = 2+oCJUqsLPP9D3LHxgLlQ8X7rS0A2vwvgZwoqTUlgZk=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.20.0.mod) = popv0up5oDshapIJPgQ6AnvvRuJ19M4MpNIh3f0kTwE=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.27.0.mod) = jgx9MEj56ChUn3qvD20iHjLjDc/a++1akW0tyzIpLbY=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.30.0.mod) = n5UIs+kkTvl5T+aNYjM29cY1mtQ3rcUj37ayvjmpScI=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.30.0.zip) = SF5FVFAQHriQdkI54ruwli6KBomh6Z+mibR6aec9BO0=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.5.0.mod) = DW9YIoqtwaZSjmdV2gGFFlZuOuXFIB963hdz9W+o2TQ=
> > -SHA256 (go_modules/golang.org/x/term/@v/v0.8.0.mod) = XTYtaoNFP3Akcl6CTAXFlJYk749MsT9dfj1Lfxygsyc=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.13.0.mod) = FR5qGDlJHEtQ3+nDNFHwYyjVUYvY7koAYd4Ct60zL7I=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.14.0.mod) = lxV58X6avFkmq3YhT1M71RfPSSXIhSQ6xHVaGgp8ae8=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.15.0.mod) = lxV58X6avFkmq3YhT1M71RfPSSXIhSQ6xHVaGgp8ae8=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.21.0.mod) = wBWvdGl7kVrUGQvifPb1u+AqFYrM7w281KQqEAAt9JY=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.23.0.mod) = TXtX+KmDHb4eAYGtqbfZpAiLymWhm8ySIGHmpzx/Rh4=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.23.0.zip) = SQQ7j1aadtCU5r5G7pg99i/5O+SYj2ZfOfBdobKLcQI=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.3.0.mod) = NoedWG/YAB6E2oeHGQoR5PeHSeKoHf6Lm2kxiZ//Mc8=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.3.3.mod) = +7eojtFAUV55Dsp6EP/TGcl4axHGpsfln4D3+ze7RUI=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.3.7.mod) = xF1mkIlCe8RjXQexhfm5aAMy0cSMdbPEnLcVuBoEpbA=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.7.0.mod) = FZKedvzgSupMkqNUQmu0M3BoRkWk7gPy510MLrFGYwQ=
> > -SHA256 (go_modules/golang.org/x/text/@v/v0.9.0.mod) = Q29ZLne1k7AvvqN04jrTNpyGI/8NKckd594eZnLbmkE=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.0.0-20180917221912-90fa682c2a6e.mod) = oOAvBnj+Ytw8S0vHf6kSybcN4Q+p988veq0DNzkrUq8=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.0.0-20191119224855-298f0cb1881e.mod) = iNR5Jl+Ib15ZjXbAA9DyV7QtvxuJXYIKErWrCzUBrKE=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = KouTZYmPCCL6zmW6CJoTU+aKZdNC8wDKMXzOzN5kIfM=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.13.0.mod) = FCs0FrAOghO0CeJ5pDS5emzglTHJFMG0cXh4FX1Xmj8=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.21.1-0.20240508182429-e35e4ccd0d2d.mod) = RSXa1PVyPR5An2o5jBrn/V4sY31DpcrrSYRAd7kcnus=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.24.0.mod) = goGeQ4/hLboq4FFiMC084ZzFNR8AqIetImKLElNF2Yk=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.31.0.mod) = Vmzotc7BtRGXOIJWXj2p9g+hTYvOWDcxj7hDu5lp4Mc=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.31.0.zip) = X7uzoI+F+3o9CZDZi8HNGfkh0N8K+65sEZoO3adSNmw=
> > -SHA256 (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = gw7Xjc0+mSfEEuJkEjAwhEd0nVE9MQJNJ24kQ7IBZgk=
> > -SHA256 (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.mod) = ql4+ybt7n2gWCe+sAZ2d4ae6dxkkj/Hqon54iC2z1/U=
> > -SHA256 (go_modules/golang.org/x/xerrors/@v/v0.0.0-20191204190536-9bdfabe68543.mod) = ql4+ybt7n2gWCe+sAZ2d4ae6dxkkj/Hqon54iC2z1/U=
> > -SHA256 (go_modules/golang.org/x/xerrors/@v/v0.0.0-20191204190536-9bdfabe68543.zip) = qTAQq9PE9INxDDf7h1Ead2lC9wm0wYIKKNCZ1EhoA5A=
> > -SHA256 (go_modules/google.golang.org/protobuf/@v/v1.33.0.mod) = 0QBqpYC5zHyvLh+hwgBeOauHM8Qc5oUcH7wX+YBY5Vw=
> > -SHA256 (go_modules/google.golang.org/protobuf/@v/v1.36.1.mod) = GaQE2wpx6lbBYAPgJ5lX8Eqmk2Pvlmxt+NLZjikf+VM=
> > -SHA256 (go_modules/google.golang.org/protobuf/@v/v1.36.4.mod) = GaQE2wpx6lbBYAPgJ5lX8Eqmk2Pvlmxt+NLZjikf+VM=
> > -SHA256 (go_modules/google.golang.org/protobuf/@v/v1.36.4.zip) = qllYyLD/pQxlcl/GtNlyJjgAUMWN8c8e668S74XJ0Fk=
> > -SHA256 (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.mod) = XDBuDWM81moRtA4uX7vG2kIRDbfXLqPBUkzrRe5Awz8=
> > -SHA256 (go_modules/gopkg.in/check.v1/@v/v1.0.0-20201130134442-10cb98267c6c.mod) = bm4vykDrj+FFXmoIzTmDPHwumiNBqB+xgbidCxxyX0g=
> > -SHA256 (go_modules/gopkg.in/check.v1/@v/v1.0.0-20201130134442-10cb98267c6c.zip) = 9VVoTlxdrMKFDd2zRf7xuPk/VGtyaFWJeJ2m0rBicQ4=
> > -SHA256 (go_modules/gopkg.in/yaml.v2/@v/v2.2.2.mod) = iNl50vCT0jl/dWvIbvosoD9zpg1mjOs5GzUQAp8/fPw=
> > -SHA256 (go_modules/gopkg.in/yaml.v2/@v/v2.4.0.mod) = w7EbqaB3X/m8bxHbtYoeSMweaLrDeKjNxiC+zGYdTDM=
> > -SHA256 (go_modules/gopkg.in/yaml.v2/@v/v2.4.0.zip) = 7eSeJ8TMps3S7HGa7Y6k02NxDM6z1BHnp4b73sDTkf0=
> > -SHA256 (go_modules/gopkg.in/yaml.v3/@v/v3.0.0-20200313102051-9f266ea9e77c.mod) = IVeYYKIDBvz0OxvSNNH7oxlJnHdhG3HAX5vzupDauTk=
> > -SHA256 (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.mod) = IVeYYKIDBvz0OxvSNNH7oxlJnHdhG3HAX5vzupDauTk=
> > -SHA256 (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.zip) = qrj7xOYwDqCOav4crqGKIckMefSJ9SxT4vIEMfGpoBU=
> > -SIZE (anubis-v1.15.2.zip) = 992288
> > -SIZE (go_modules/github.com/!puerkito!bio/goquery/@v/v1.10.1.mod) = 126
> > -SIZE (go_modules/github.com/!puerkito!bio/goquery/@v/v1.10.1.zip) = 136076
> > -SIZE (go_modules/github.com/a-h/htmlformat/@v/v0.0.0-20231108124658-5bd994fe268e.mod) = 117
> > -SIZE (go_modules/github.com/a-h/htmlformat/@v/v0.0.0-20231108124658-5bd994fe268e.zip) = 5015
> > -SIZE (go_modules/github.com/a-h/parse/@v/v0.0.0-20250122154542-74294addb73e.mod) = 78
> > -SIZE (go_modules/github.com/a-h/parse/@v/v0.0.0-20250122154542-74294addb73e.zip) = 35910
> > -SIZE (go_modules/github.com/a-h/templ/@v/v0.3.833.mod) = 895
> > -SIZE (go_modules/github.com/a-h/templ/@v/v0.3.833.zip) = 1510596
> > -SIZE (go_modules/github.com/alecthomas/kingpin/v2/@v/v2.4.0.mod) = 352
> > -SIZE (go_modules/github.com/alecthomas/kingpin/v2/@v/v2.4.0.zip) = 62260
> > -SIZE (go_modules/github.com/alecthomas/units/@v/v0.0.0-20211218093645-b94a6e3cc137.mod) = 88
> > -SIZE (go_modules/github.com/alecthomas/units/@v/v0.0.0-20211218093645-b94a6e3cc137.zip) = 8236
> > -SIZE (go_modules/github.com/andybalholm/brotli/@v/v1.1.0.mod) = 103
> > -SIZE (go_modules/github.com/andybalholm/brotli/@v/v1.1.0.zip) = 1882316
> > -SIZE (go_modules/github.com/andybalholm/cascadia/@v/v1.3.3.mod) = 82
> > -SIZE (go_modules/github.com/andybalholm/cascadia/@v/v1.3.3.zip) = 54975
> > -SIZE (go_modules/github.com/beorn7/perks/@v/v1.0.1.mod) = 40
> > -SIZE (go_modules/github.com/beorn7/perks/@v/v1.0.1.zip) = 14678
> > -SIZE (go_modules/github.com/cenkalti/backoff/v4/@v/v4.3.0.mod) = 47
> > -SIZE (go_modules/github.com/cenkalti/backoff/v4/@v/v4.3.0.zip) = 16773
> > -SIZE (go_modules/github.com/cespare/xxhash/v2/@v/v2.3.0.mod) = 45
> > -SIZE (go_modules/github.com/cespare/xxhash/v2/@v/v2.3.0.zip) = 17573
> > -SIZE (go_modules/github.com/cli/browser/@v/v1.3.0.mod) = 73
> > -SIZE (go_modules/github.com/cli/browser/@v/v1.3.0.zip) = 6971
> > -SIZE (go_modules/github.com/coder/websocket/@v/v1.8.12.mod) = 43
> > -SIZE (go_modules/github.com/coder/websocket/@v/v1.8.12.zip) = 69725
> > -SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.0.mod) = 34
> > -SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.1.mod) = 34
> > -SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.2-0.20180830191138-d8f796af33cc.mod) = 34
> > -SIZE (go_modules/github.com/davecgh/go-spew/@v/v1.1.2-0.20180830191138-d8f796af33cc.zip) = 61763
> > -SIZE (go_modules/github.com/deckarep/golang-set/v2/@v/v2.6.0.mod) = 50
> > -SIZE (go_modules/github.com/deckarep/golang-set/v2/@v/v2.6.0.zip) = 130584
> > -SIZE (go_modules/github.com/facebookgo/ensure/@v/v0.0.0-20160127193407-b4ab57deab51.mod) = 36
> > -SIZE (go_modules/github.com/facebookgo/ensure/@v/v0.0.0-20160127193407-b4ab57deab51.zip) = 8662
> > -SIZE (go_modules/github.com/facebookgo/flagenv/@v/v0.0.0-20160425205200-fcd59fca7456.mod) = 37
> > -SIZE (go_modules/github.com/facebookgo/flagenv/@v/v0.0.0-20160425205200-fcd59fca7456.zip) = 4843
> > -SIZE (go_modules/github.com/facebookgo/stack/@v/v0.0.0-20160209184415-751773369052.mod) = 35
> > -SIZE (go_modules/github.com/facebookgo/stack/@v/v0.0.0-20160209184415-751773369052.zip) = 8204
> > -SIZE (go_modules/github.com/facebookgo/subset/@v/v0.0.0-20150612182917-8dac2c3c4870.mod) = 36
> > -SIZE (go_modules/github.com/facebookgo/subset/@v/v0.0.0-20150612182917-8dac2c3c4870.zip) = 5765
> > -SIZE (go_modules/github.com/fatih/color/@v/v1.16.0.mod) = 161
> > -SIZE (go_modules/github.com/fatih/color/@v/v1.16.0.zip) = 14444
> > -SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.7.0.mod) = 278
> > -SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.7.0.zip) = 90661
> > -SIZE (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.3.mod) = 157
> > -SIZE (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.4.mod) = 157
> > -SIZE (go_modules/github.com/go-jose/go-jose/v3/@v/v3.0.4.zip) = 351120
> > -SIZE (go_modules/github.com/go-stack/stack/@v/v1.8.1.mod) = 42
> > -SIZE (go_modules/github.com/go-stack/stack/@v/v1.8.1.zip) = 10631
> > -SIZE (go_modules/github.com/golang-jwt/jwt/v5/@v/v5.2.2.mod) = 45
> > -SIZE (go_modules/github.com/golang-jwt/jwt/v5/@v/v5.2.2.zip) = 89822
> > -SIZE (go_modules/github.com/golang/protobuf/@v/v1.5.0.mod) = 129
> > -SIZE (go_modules/github.com/golang/protobuf/@v/v1.5.0.zip) = 206670
> > -SIZE (go_modules/github.com/google/go-cmp/@v/v0.5.5.mod) = 105
> > -SIZE (go_modules/github.com/google/go-cmp/@v/v0.5.8.mod) = 41
> > -SIZE (go_modules/github.com/google/go-cmp/@v/v0.5.9.mod) = 41
> > -SIZE (go_modules/github.com/google/go-cmp/@v/v0.6.0.mod) = 41
> > -SIZE (go_modules/github.com/google/go-cmp/@v/v0.6.0.zip) = 129773
> > -SIZE (go_modules/github.com/h2non/filetype/@v/v1.1.3.mod) = 42
> > -SIZE (go_modules/github.com/h2non/filetype/@v/v1.1.3.zip) = 9063029
> > -SIZE (go_modules/github.com/jpillora/backoff/@v/v1.0.0.mod) = 44
> > -SIZE (go_modules/github.com/jpillora/backoff/@v/v1.0.0.zip) = 4359
> > -SIZE (go_modules/github.com/json-iterator/go/@v/v1.1.12.mod) = 267
> > -SIZE (go_modules/github.com/json-iterator/go/@v/v1.1.12.zip) = 139706
> > -SIZE (go_modules/github.com/julienschmidt/httprouter/@v/v1.3.0.mod) = 51
> > -SIZE (go_modules/github.com/julienschmidt/httprouter/@v/v1.3.0.zip) = 28212
> > -SIZE (go_modules/github.com/klauspost/compress/@v/v1.17.11.mod) = 137
> > -SIZE (go_modules/github.com/klauspost/compress/@v/v1.17.11.zip) = 39189808
> > -SIZE (go_modules/github.com/kr/pretty/@v/v0.3.1.mod) = 117
> > -SIZE (go_modules/github.com/kr/pretty/@v/v0.3.1.zip) = 13388
> > -SIZE (go_modules/github.com/kylelemons/godebug/@v/v1.1.0.mod) = 46
> > -SIZE (go_modules/github.com/kylelemons/godebug/@v/v1.1.0.zip) = 25634
> > -SIZE (go_modules/github.com/mattn/go-colorable/@v/v0.1.13.mod) = 90
> > -SIZE (go_modules/github.com/mattn/go-colorable/@v/v0.1.13.zip) = 13909
> > -SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.16.mod) = 104
> > -SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.mod) = 76
> > -SIZE (go_modules/github.com/mattn/go-isatty/@v/v0.0.20.zip) = 8936
> > -SIZE (go_modules/github.com/mitchellh/go-ps/@v/v1.0.0.mod) = 43
> > -SIZE (go_modules/github.com/mitchellh/go-ps/@v/v1.0.0.zip) = 11977
> > -SIZE (go_modules/github.com/modern-go/concurrent/@v/v0.0.0-20180306012644-bacd9c7ef1dd.mod) = 39
> > -SIZE (go_modules/github.com/modern-go/concurrent/@v/v0.0.0-20180306012644-bacd9c7ef1dd.zip) = 10936
> > -SIZE (go_modules/github.com/modern-go/reflect2/@v/v1.0.2.mod) = 46
> > -SIZE (go_modules/github.com/modern-go/reflect2/@v/v1.0.2.zip) = 25186
> > -SIZE (go_modules/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.mod) = 36
> > -SIZE (go_modules/github.com/munnerz/goautoneg/@v/v0.0.0-20191010083416-a7dc8b61c822.zip) = 5674
> > -SIZE (go_modules/github.com/mwitkow/go-conntrack/@v/v0.0.0-20190716064945-2f068394615f.mod) = 39
> > -SIZE (go_modules/github.com/mwitkow/go-conntrack/@v/v0.0.0-20190716064945-2f068394615f.zip) = 24595
> > -SIZE (go_modules/github.com/natefinch/atomic/@v/v1.0.1.mod) = 44
> > -SIZE (go_modules/github.com/natefinch/atomic/@v/v1.0.1.zip) = 4983
> > -SIZE (go_modules/github.com/orisano/pixelmatch/@v/v0.0.0-20230914042517-fa304d1dc785.mod) = 46
> > -SIZE (go_modules/github.com/orisano/pixelmatch/@v/v0.0.0-20230914042517-fa304d1dc785.zip) = 20022
> > -SIZE (go_modules/github.com/playwright-community/playwright-go/@v/v0.5001.0.mod) = 828
> > -SIZE (go_modules/github.com/playwright-community/playwright-go/@v/v0.5001.0.zip) = 2477682
> > -SIZE (go_modules/github.com/pmezard/go-difflib/@v/v1.0.0.mod) = 37
> > -SIZE (go_modules/github.com/pmezard/go-difflib/@v/v1.0.1-0.20181226105442-5d4384ee4fb2.mod) = 37
> > -SIZE (go_modules/github.com/pmezard/go-difflib/@v/v1.0.1-0.20181226105442-5d4384ee4fb2.zip) = 12506
> > -SIZE (go_modules/github.com/prometheus/client_golang/@v/v1.20.4.mod) = 1059
> > -SIZE (go_modules/github.com/prometheus/client_golang/@v/v1.21.1.mod) = 1060
> > -SIZE (go_modules/github.com/prometheus/client_golang/@v/v1.21.1.zip) = 392827
> > -SIZE (go_modules/github.com/prometheus/client_model/@v/v0.6.1.mod) = 95
> > -SIZE (go_modules/github.com/prometheus/client_model/@v/v0.6.1.zip) = 21067
> > -SIZE (go_modules/github.com/prometheus/common/@v/v0.62.0.mod) = 1347
> > -SIZE (go_modules/github.com/prometheus/common/@v/v0.62.0.zip) = 215330
> > -SIZE (go_modules/github.com/prometheus/procfs/@v/v0.15.1.mod) = 143
> > -SIZE (go_modules/github.com/prometheus/procfs/@v/v0.15.1.zip) = 400049
> > -SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.10.0.mod) = 48
> > -SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.11.0.mod) = 167
> > -SIZE (go_modules/github.com/rogpeppe/go-internal/@v/v1.11.0.zip) = 183284
> > -SIZE (go_modules/github.com/rs/cors/@v/v1.11.0.mod) = 35
> > -SIZE (go_modules/github.com/rs/cors/@v/v1.11.0.zip) = 16720
> > -SIZE (go_modules/github.com/sebest/xff/@v/v0.0.0-20210106013422-671bd2870b3a.mod) = 29
> > -SIZE (go_modules/github.com/sebest/xff/@v/v0.0.0-20210106013422-671bd2870b3a.zip) = 5899
> > -SIZE (go_modules/github.com/stretchr/objx/@v/v0.1.0.mod) = 32
> > -SIZE (go_modules/github.com/stretchr/objx/@v/v0.1.0.zip) = 34637
> > -SIZE (go_modules/github.com/stretchr/testify/@v/v1.10.0.mod) = 417
> > -SIZE (go_modules/github.com/stretchr/testify/@v/v1.10.0.zip) = 130241
> > -SIZE (go_modules/github.com/stretchr/testify/@v/v1.4.0.mod) = 179
> > -SIZE (go_modules/github.com/stretchr/testify/@v/v1.7.0.mod) = 216
> > -SIZE (go_modules/github.com/stretchr/testify/@v/v1.8.4.mod) = 188
> > -SIZE (go_modules/github.com/tidwall/gjson/@v/v1.17.0.mod) = 121
> > -SIZE (go_modules/github.com/tidwall/gjson/@v/v1.17.0.zip) = 61942
> > -SIZE (go_modules/github.com/tidwall/match/@v/v1.1.1.mod) = 41
> > -SIZE (go_modules/github.com/tidwall/match/@v/v1.1.1.zip) = 6893
> > -SIZE (go_modules/github.com/tidwall/pretty/@v/v1.2.1.mod) = 42
> > -SIZE (go_modules/github.com/tidwall/pretty/@v/v1.2.1.zip) = 12501
> > -SIZE (go_modules/github.com/xhit/go-str2duration/v2/@v/v2.1.0.mod) = 51
> > -SIZE (go_modules/github.com/xhit/go-str2duration/v2/@v/v2.1.0.zip) = 7331
> > -SIZE (go_modules/github.com/yl2chen/cidranger/@v/v1.0.2.mod) = 89
> > -SIZE (go_modules/github.com/yl2chen/cidranger/@v/v1.0.2.zip) = 32863
> > -SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 41
> > -SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = 229017
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20190308221718-c2843e01d9a2.mod) = 88
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.mod) = 247
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.13.0.mod) = 190
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.19.0.mod) = 190
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.23.0.mod) = 190
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.31.0.mod) = 190
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.36.0.mod) = 192
> > -SIZE (go_modules/golang.org/x/crypto/@v/v0.36.0.zip) = 1794660
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.12.0.mod) = 84
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.15.0.mod) = 84
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.17.0.mod) = 84
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.20.0.mod) = 84
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.24.0.mod) = 86
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.24.0.zip) = 172143
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.6.0-dev.0.20220419223038-86c51ed26bb4.mod) = 157
> > -SIZE (go_modules/golang.org/x/mod/@v/v0.8.0.mod) = 84
> > -SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20190620200207-3b0461eec859.mod) = 181
> > -SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20210226172049-e18ecbb05110.mod) = 179
> > -SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20220722155237-a158d28d115b.mod) = 179
> > -SIZE (go_modules/golang.org/x/net/@v/v0.10.0.mod) = 123
> > -SIZE (go_modules/golang.org/x/net/@v/v0.15.0.mod) = 155
> > -SIZE (go_modules/golang.org/x/net/@v/v0.21.0.mod) = 155
> > -SIZE (go_modules/golang.org/x/net/@v/v0.25.0.mod) = 155
> > -SIZE (go_modules/golang.org/x/net/@v/v0.33.0.mod) = 155
> > -SIZE (go_modules/golang.org/x/net/@v/v0.37.0.mod) = 157
> > -SIZE (go_modules/golang.org/x/net/@v/v0.37.0.zip) = 1901341
> > -SIZE (go_modules/golang.org/x/net/@v/v0.6.0.mod) = 123
> > -SIZE (go_modules/golang.org/x/oauth2/@v/v0.24.0.mod) = 127
> > -SIZE (go_modules/golang.org/x/oauth2/@v/v0.24.0.zip) = 151033
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20190423024810-112230192c58.mod) = 25
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = 25
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = 25
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.10.0.mod) = 34
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.12.0.mod) = 36
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.12.0.zip) = 25441
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.3.0.mod) = 34
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.6.0.mod) = 34
> > -SIZE (go_modules/golang.org/x/sync/@v/v0.7.0.mod) = 34
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = 24
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20201119102817-f84b799fce68.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20210615035016-665e8c7367d1.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220520151302-bc2c85ada10a.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220722155257-8c9f86f7a55f.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220811171246-fbc7d0a398ab.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.12.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.13.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.14.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.17.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.20.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.28.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.31.0.mod) = 35
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.31.0.zip) = 1987984
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.4.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.5.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.6.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/sys/@v/v0.8.0.mod) = 33
> > -SIZE (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240228155512-f48c80bd79b2.mod) = 138
> > -SIZE (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240521205824-bda55230c457.mod) = 138
> > -SIZE (go_modules/golang.org/x/telemetry/@v/v0.0.0-20240521205824-bda55230c457.zip) = 961050
> > -SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20201126162022-7de9c90e9dd1.mod) = 95
> > -SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = 95
> > -SIZE (go_modules/golang.org/x/term/@v/v0.12.0.mod) = 68
> > -SIZE (go_modules/golang.org/x/term/@v/v0.17.0.mod) = 68
> > -SIZE (go_modules/golang.org/x/term/@v/v0.20.0.mod) = 68
> > -SIZE (go_modules/golang.org/x/term/@v/v0.27.0.mod) = 68
> > -SIZE (go_modules/golang.org/x/term/@v/v0.30.0.mod) = 70
> > -SIZE (go_modules/golang.org/x/term/@v/v0.30.0.zip) = 19812
> > -SIZE (go_modules/golang.org/x/term/@v/v0.5.0.mod) = 67
> > -SIZE (go_modules/golang.org/x/term/@v/v0.8.0.mod) = 67
> > -SIZE (go_modules/golang.org/x/text/@v/v0.13.0.mod) = 197
> > -SIZE (go_modules/golang.org/x/text/@v/v0.14.0.mod) = 197
> > -SIZE (go_modules/golang.org/x/text/@v/v0.15.0.mod) = 197
> > -SIZE (go_modules/golang.org/x/text/@v/v0.21.0.mod) = 221
> > -SIZE (go_modules/golang.org/x/text/@v/v0.23.0.mod) = 223
> > -SIZE (go_modules/golang.org/x/text/@v/v0.23.0.zip) = 9234172
> > -SIZE (go_modules/golang.org/x/text/@v/v0.3.0.mod) = 25
> > -SIZE (go_modules/golang.org/x/text/@v/v0.3.3.mod) = 97
> > -SIZE (go_modules/golang.org/x/text/@v/v0.3.7.mod) = 97
> > -SIZE (go_modules/golang.org/x/text/@v/v0.7.0.mod) = 258
> > -SIZE (go_modules/golang.org/x/text/@v/v0.9.0.mod) = 215
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.0.0-20180917221912-90fa682c2a6e.mod) = 26
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.0.0-20191119224855-298f0cb1881e.mod) = 212
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = 327
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.13.0.mod) = 214
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.21.1-0.20240508182429-e35e4ccd0d2d.mod) = 339
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.24.0.mod) = 339
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.31.0.mod) = 301
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.31.0.zip) = 3287817
> > -SIZE (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = 211
> > -SIZE (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.mod) = 37
> > -SIZE (go_modules/golang.org/x/xerrors/@v/v0.0.0-20191204190536-9bdfabe68543.mod) = 37
> > -SIZE (go_modules/golang.org/x/xerrors/@v/v0.0.0-20191204190536-9bdfabe68543.zip) = 22282
> > -SIZE (go_modules/google.golang.org/protobuf/@v/v1.33.0.mod) = 201
> > -SIZE (go_modules/google.golang.org/protobuf/@v/v1.36.1.mod) = 201
> > -SIZE (go_modules/google.golang.org/protobuf/@v/v1.36.4.mod) = 201
> > -SIZE (go_modules/google.golang.org/protobuf/@v/v1.36.4.zip) = 2425034
> > -SIZE (go_modules/gopkg.in/check.v1/@v/v0.0.0-20161208181325-20d25e280405.mod) = 25
> > -SIZE (go_modules/gopkg.in/check.v1/@v/v1.0.0-20201130134442-10cb98267c6c.mod) = 71
> > -SIZE (go_modules/gopkg.in/check.v1/@v/v1.0.0-20201130134442-10cb98267c6c.zip) = 42835
> > -SIZE (go_modules/gopkg.in/yaml.v2/@v/v2.2.2.mod) = 95
> > -SIZE (go_modules/gopkg.in/yaml.v2/@v/v2.4.0.mod) = 95
> > -SIZE (go_modules/gopkg.in/yaml.v2/@v/v2.4.0.zip) = 81183
> > -SIZE (go_modules/gopkg.in/yaml.v3/@v/v3.0.0-20200313102051-9f266ea9e77c.mod) = 95
> > -SIZE (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.mod) = 95
> > -SIZE (go_modules/gopkg.in/yaml.v3/@v/v3.0.1.zip) = 104623
> > +SHA256 (anubis-src-vendor-npm-1.17.1.tar.gz) = oLuf7f8QH1EvaWJQeCnD6qLMxweDky7y44dUywZllGk=
> > +SIZE (anubis-src-vendor-npm-1.17.1.tar.gz) = 5110953
> > Index: modules.inc
> > ===================================================================
> > RCS file: modules.inc
> > diff -N modules.inc
> > --- modules.inc 7 May 2025 14:20:14 -0000 1.4
> > +++ /dev/null 1 Jan 1970 00:00:00 -0000
> > @@ -1,166 +0,0 @@
> > -MODGO_MODULES = \
> > - github.com/!puerkito!bio/goquery v1.10.1 \
> > - github.com/a-h/htmlformat v0.0.0-20231108124658-5bd994fe268e \
> > - github.com/a-h/parse v0.0.0-20250122154542-74294addb73e \
> > - github.com/a-h/templ v0.3.833 \
> > - github.com/alecthomas/kingpin/v2 v2.4.0 \
> > - github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 \
> > - github.com/andybalholm/brotli v1.1.0 \
> > - github.com/andybalholm/cascadia v1.3.3 \
> > - github.com/beorn7/perks v1.0.1 \
> > - github.com/cenkalti/backoff/v4 v4.3.0 \
> > - github.com/cespare/xxhash/v2 v2.3.0 \
> > - github.com/cli/browser v1.3.0 \
> > - github.com/coder/websocket v1.8.12 \
> > - github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc \
> > - github.com/deckarep/golang-set/v2 v2.6.0 \
> > - github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 \
> > - github.com/facebookgo/flagenv v0.0.0-20160425205200-fcd59fca7456 \
> > - github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 \
> > - github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870 \
> > - github.com/fatih/color v1.16.0 \
> > - github.com/fsnotify/fsnotify v1.7.0 \
> > - github.com/go-jose/go-jose/v3 v3.0.4 \
> > - github.com/go-stack/stack v1.8.1 \
> > - github.com/golang-jwt/jwt/v5 v5.2.2 \
> > - github.com/golang/protobuf v1.5.0 \
> > - github.com/google/go-cmp v0.6.0 \
> > - github.com/h2non/filetype v1.1.3 \
> > - github.com/jpillora/backoff v1.0.0 \
> > - github.com/json-iterator/go v1.1.12 \
> > - github.com/julienschmidt/httprouter v1.3.0 \
> > - github.com/klauspost/compress v1.17.11 \
> > - github.com/kr/pretty v0.3.1 \
> > - github.com/kylelemons/godebug v1.1.0 \
> > - github.com/mattn/go-colorable v0.1.13 \
> > - github.com/mattn/go-isatty v0.0.20 \
> > - github.com/mitchellh/go-ps v1.0.0 \
> > - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd \
> > - github.com/modern-go/reflect2 v1.0.2 \
> > - github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 \
> > - github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f \
> > - github.com/natefinch/atomic v1.0.1 \
> > - github.com/orisano/pixelmatch v0.0.0-20230914042517-fa304d1dc785 \
> > - github.com/playwright-community/playwright-go v0.5001.0 \
> > - github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 \
> > - github.com/prometheus/client_golang v1.21.1 \
> > - github.com/prometheus/client_model v0.6.1 \
> > - github.com/prometheus/common v0.62.0 \
> > - github.com/prometheus/procfs v0.15.1 \
> > - github.com/rogpeppe/go-internal v1.11.0 \
> > - github.com/rs/cors v1.11.0 \
> > - github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a \
> > - github.com/stretchr/objx v0.1.0 \
> > - github.com/stretchr/testify v1.10.0 \
> > - github.com/tidwall/gjson v1.17.0 \
> > - github.com/tidwall/match v1.1.1 \
> > - github.com/tidwall/pretty v1.2.1 \
> > - github.com/xhit/go-str2duration/v2 v2.1.0 \
> > - github.com/yl2chen/cidranger v1.0.2 \
> > - github.com/yuin/goldmark v1.4.13 \
> > - golang.org/x/crypto v0.36.0 \
> > - golang.org/x/mod v0.24.0 \
> > - golang.org/x/net v0.37.0 \
> > - golang.org/x/oauth2 v0.24.0 \
> > - golang.org/x/sync v0.12.0 \
> > - golang.org/x/sys v0.31.0 \
> > - golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 \
> > - golang.org/x/term v0.30.0 \
> > - golang.org/x/text v0.23.0 \
> > - golang.org/x/tools v0.31.0 \
> > - golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 \
> > - google.golang.org/protobuf v1.36.4 \
> > - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c \
> > - gopkg.in/yaml.v2 v2.4.0 \
> > - gopkg.in/yaml.v3 v3.0.1
> > -
> > -MODGO_MODFILES = \
> > - github.com/davecgh/go-spew v1.1.0 \
> > - github.com/davecgh/go-spew v1.1.1 \
> > - github.com/go-jose/go-jose/v3 v3.0.3 \
> > - github.com/google/go-cmp v0.5.5 \
> > - github.com/google/go-cmp v0.5.8 \
> > - github.com/google/go-cmp v0.5.9 \
> > - github.com/mattn/go-isatty v0.0.16 \
> > - github.com/pmezard/go-difflib v1.0.0 \
> > - github.com/prometheus/client_golang v1.20.4 \
> > - github.com/rogpeppe/go-internal v1.10.0 \
> > - github.com/stretchr/testify v1.4.0 \
> > - github.com/stretchr/testify v1.7.0 \
> > - github.com/stretchr/testify v1.8.4 \
> > - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 \
> > - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 \
> > - golang.org/x/crypto v0.13.0 \
> > - golang.org/x/crypto v0.19.0 \
> > - golang.org/x/crypto v0.23.0 \
> > - golang.org/x/crypto v0.31.0 \
> > - golang.org/x/mod v0.12.0 \
> > - golang.org/x/mod v0.15.0 \
> > - golang.org/x/mod v0.17.0 \
> > - golang.org/x/mod v0.20.0 \
> > - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 \
> > - golang.org/x/mod v0.8.0 \
> > - golang.org/x/net v0.0.0-20190620200207-3b0461eec859 \
> > - golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 \
> > - golang.org/x/net v0.0.0-20220722155237-a158d28d115b \
> > - golang.org/x/net v0.10.0 \
> > - golang.org/x/net v0.15.0 \
> > - golang.org/x/net v0.21.0 \
> > - golang.org/x/net v0.25.0 \
> > - golang.org/x/net v0.33.0 \
> > - golang.org/x/net v0.6.0 \
> > - golang.org/x/sync v0.0.0-20190423024810-112230192c58 \
> > - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 \
> > - golang.org/x/sync v0.1.0 \
> > - golang.org/x/sync v0.10.0 \
> > - golang.org/x/sync v0.3.0 \
> > - golang.org/x/sync v0.6.0 \
> > - golang.org/x/sync v0.7.0 \
> > - golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a \
> > - golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 \
> > - golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 \
> > - golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a \
> > - golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f \
> > - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab \
> > - golang.org/x/sys v0.12.0 \
> > - golang.org/x/sys v0.13.0 \
> > - golang.org/x/sys v0.14.0 \
> > - golang.org/x/sys v0.17.0 \
> > - golang.org/x/sys v0.20.0 \
> > - golang.org/x/sys v0.28.0 \
> > - golang.org/x/sys v0.4.0 \
> > - golang.org/x/sys v0.5.0 \
> > - golang.org/x/sys v0.6.0 \
> > - golang.org/x/sys v0.8.0 \
> > - golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 \
> > - golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 \
> > - golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 \
> > - golang.org/x/term v0.12.0 \
> > - golang.org/x/term v0.17.0 \
> > - golang.org/x/term v0.20.0 \
> > - golang.org/x/term v0.27.0 \
> > - golang.org/x/term v0.5.0 \
> > - golang.org/x/term v0.8.0 \
> > - golang.org/x/text v0.13.0 \
> > - golang.org/x/text v0.14.0 \
> > - golang.org/x/text v0.15.0 \
> > - golang.org/x/text v0.21.0 \
> > - golang.org/x/text v0.3.0 \
> > - golang.org/x/text v0.3.3 \
> > - golang.org/x/text v0.3.7 \
> > - golang.org/x/text v0.7.0 \
> > - golang.org/x/text v0.9.0 \
> > - golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e \
> > - golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e \
> > - golang.org/x/tools v0.1.12 \
> > - golang.org/x/tools v0.13.0 \
> > - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d \
> > - golang.org/x/tools v0.24.0 \
> > - golang.org/x/tools v0.6.0 \
> > - golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 \
> > - google.golang.org/protobuf v1.33.0 \
> > - google.golang.org/protobuf v1.36.1 \
> > - gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 \
> > - gopkg.in/yaml.v2 v2.2.2 \
> > - gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
> > -
> > Index: patches/patch-data_botPolicies_json
> > ===================================================================
> > RCS file: patches/patch-data_botPolicies_json
> > diff -N patches/patch-data_botPolicies_json
> > --- patches/patch-data_botPolicies_json 7 May 2025 14:20:14 -0000 1.1
> > +++ /dev/null 1 Jan 1970 00:00:00 -0000
> > @@ -1,25 +0,0 @@
> > -From e9a6ebffbb5cdd3d3f452610bda4371e51288058 Mon Sep 17 00:00:00 2001
> > -From: Xe Iaso <me@xeiaso.net>
> > -Date: Fri, 28 Mar 2025 07:39:14 -0400
> > -Subject: [PATCH] data: disable DroneBL lookups by default (#147)
> > -
> > -Closes #109
> > -
> > -This was a hack I did on stream. I thought this would have a positive
> > -effect, but a combination of real-world testing from people using Anubis
> > -in prod and gray-hat testing has proven this is an unfeature and is
> > -probably causing more harm than good at this stage.
> > -
> > -In the future I'll probably make the `dnsbl` block more flexible so that
> > -you can specify your own lists and rules around them.
> > -
> > -Index: data/botPolicies.json
> > ---- data/botPolicies.json.orig
> > -+++ data/botPolicies.json
> > -@@ -394,5 +394,5 @@
> > - "action": "CHALLENGE"
> > - }
> > - ],
> > -- "dnsbl": true
> > -+ "dnsbl": false
> > - }
> >
>
> I have seen that tarball as well and tried building something around that
> but without success... Seems to me that the variable names get confused with
> the vendored tarball when built in the ports tree.... I don't really know
> what's going on.
>
> The only npm package upstream seems to require for building is postcss-cli
> (xess/build.sh). Maybe it would make sense to provide that in the ports-tree
> as devel/postcss, as a buildtime dependency of anubis? In that case, it
> would probably be possible to build as a "classic" go module. Though, I am
> not sure whether or not that would introduce transitive dependencies of
> postcss... I have no clue about NPM nor golang.
That would just be moving the problem around, you would still need
to prepare an npm cache with dependencies of postcss-cli, at least
"chokidar": "^3.3.0",
"dependency-graph": "^1.0.0",
"fs-extra": "^11.0.0",
"picocolors": "^1.0.0",
"postcss-load-config": "^5.0.0",
"postcss-reporter": "^7.0.0",
"pretty-hrtime": "^1.0.3",
"read-cache": "^1.0.0",
"slash": "^5.0.0",
"tinyglobby": "^0.2.12",
"yargs": "^17.0.0"
plus onward dependencies of those. So if doing things that way
it would be simpler to just do it for anubis, which would then also
be adjustable for any future npm deps.
But, anubis is buildable from the bundle tar.gz, so there's no point
in doing that either - however it requires faffing about trying to get
it to build with the slightly annoying go build framework that we have.
> Feel free to tell me your thoughts about the unveil/pledge patch though. I
> can port my changes to the current port version as well. Or do you prefer
> having the build issues sorted out first?
I don't really want to review anubis + all the libraries involved (on an
ongoing basis, whenever they/anubis are updated) to see if they will be
compatible with pledge. And I don't want to yolo it with "it works in a
test" without reasoning with the code. Unveil without pledge would be
*much* easier to be confident in, and I don't think it would be much
worse than with pledge.