diff --git a/Makefile b/Makefile index 50795e3..2f864d8 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,22 @@ CONFIG = ./config.nix +BASH = $$(nix-build --no-out-link -A pkgs.bash)/bin/bash entrypoint: - nix-build -A entrypoint \ - --arg config '(import ${CONFIG})' + nix-build -A entrypoint --arg config '(import ${CONFIG})' -install: - $$(nix-build -A install --arg config '(import ${CONFIG})') +install-systemd: + $$(nix-build --no-out-link -A install --arg config '(import ${CONFIG})') test: - $$(nix-build --no-out-link -A pkgs.bash)/bin/bash srv-dev-env.sh \ - --run "cd srv/src && go test ./... -count=1 -tags integration" - @echo "\nTESTS PASSED!\n" + ${BASH} tmp-dev-env.sh \ + --run "cd src; go test ./... -count=1 -tags integration" -srv.dev-shell: - $$(nix-build --no-out-link -A pkgs.bash)/bin/bash srv-dev-env.sh \ - --command "cd srv/src; return" - -srv.shell: - nix-shell -A srv.shellWithBuild --arg config '(import ${CONFIG})' \ - --command 'cd srv/src; return' +shell: + ${BASH} tmp-dev-env.sh \ + --command " \ + cd src; \ + echo 'Loading test data...'; \ + (cd cmd/load-test-data && go run main.go); \ + return; \ + " diff --git a/default.nix b/default.nix index 98efd74..b342fb7 100644 --- a/default.nix +++ b/default.nix @@ -1,6 +1,6 @@ { - pkgsArg ? import (fetchTarball { + pkgs ? import (fetchTarball { name = "nixpkgs-21-05"; url = "https://github.com/NixOS/nixpkgs/archive/7e9b0dff974c89e070da1ad85713ff3c20b0ca97.tar.gz"; sha256 = "1ckzhh24mgz6jd1xhfgx0i9mijk6xjqxwsshnvq789xsavrmsc36"; @@ -10,24 +10,60 @@ }: rec { - pkgs = pkgsArg; + inherit pkgs; - srv = pkgs.callPackage (import ./srv) { - inherit config; - }; + init = pkgs.writeText "mediocre-blog-init" '' + + export MEDIOCRE_BLOG_DATA_DIR="${config.dataDir}" + + # mailing list + export MEDIOCRE_BLOG_ML_SMTP_ADDR="${config.mlSMTPAddr}" + export MEDIOCRE_BLOG_ML_SMTP_AUTH="${config.mlSMTPAuth}" + export MEDIOCRE_BLOG_ML_PUBLIC_URL="${config.publicURL}" + + # pow + export MEDIOCRE_BLOG_POW_SECRET="${config.powSecret}" + + # http + export MEDIOCRE_BLOG_HTTP_PUBLIC_URL="${config.publicURL}" + export MEDIOCRE_BLOG_HTTP_LISTEN_PROTO="${config.httpListenProto}" + export MEDIOCRE_BLOG_HTTP_LISTEN_ADDR="${config.httpListenAddr}" + export MEDIOCRE_BLOG_HTTP_AUTH_USERS='${builtins.toJSON config.httpAuthUsers}' + export MEDIOCRE_BLOG_HTTP_AUTH_RATELIMIT='${config.httpAuthRatelimit}' + ''; + bin = pkgs.buildGoModule { + pname = "mediocre-blog"; + version = "dev"; + src = ./src; + vendorSha256 = "sha256:1vazrrg8rs9n8x40c9r53h9qnyxw59xkp0aq7jl15fliigk6q0cr"; + + subPackages = [ "cmd/mediocre-blog" ]; + + # disable tests + checkPhase = ''''; + }; entrypoint = pkgs.writeScript "mediocre-blog-entrypoint" '' - #!/bin/sh + #!${pkgs.bash}/bin/bash set -e + source ${init} mkdir -p ${config.runDir} mkdir -p ${config.dataDir} - exec ${srv.bin} + exec ${bin}/bin/mediocre-blog "$@" ''; + shell = pkgs.stdenv.mkDerivation { + name = "mediocre-blog-shell"; + buildInputs = [ pkgs.go pkgs.sqlite ]; + shellHook = '' + source ${init} + ''; + }; + service = pkgs.writeText "mediocre-blog" '' [Unit] Description=mediocregopher mediocre blog diff --git a/srv/src/cfg/cfg.go b/src/cfg/cfg.go similarity index 100% rename from srv/src/cfg/cfg.go rename to src/cfg/cfg.go diff --git a/srv/src/cfg/cfg_test.go b/src/cfg/cfg_test.go similarity index 100% rename from srv/src/cfg/cfg_test.go rename to src/cfg/cfg_test.go diff --git a/srv/src/cfg/data_dir.go b/src/cfg/data_dir.go similarity index 100% rename from srv/src/cfg/data_dir.go rename to src/cfg/data_dir.go diff --git a/srv/src/cfg/mediocre_blog.go b/src/cfg/mediocre_blog.go similarity index 100% rename from srv/src/cfg/mediocre_blog.go rename to src/cfg/mediocre_blog.go diff --git a/srv/src/cmd/hash-password/main.go b/src/cmd/hash-password/main.go similarity index 100% rename from srv/src/cmd/hash-password/main.go rename to src/cmd/hash-password/main.go diff --git a/srv/src/cmd/load-test-data/galaxy.jpg b/src/cmd/load-test-data/galaxy.jpg similarity index 100% rename from srv/src/cmd/load-test-data/galaxy.jpg rename to src/cmd/load-test-data/galaxy.jpg diff --git a/srv/src/cmd/load-test-data/main.go b/src/cmd/load-test-data/main.go similarity index 100% rename from srv/src/cmd/load-test-data/main.go rename to src/cmd/load-test-data/main.go diff --git a/srv/src/cmd/load-test-data/test-data.yml b/src/cmd/load-test-data/test-data.yml similarity index 100% rename from srv/src/cmd/load-test-data/test-data.yml rename to src/cmd/load-test-data/test-data.yml diff --git a/srv/src/cmd/mailinglist-cli/main.go b/src/cmd/mailinglist-cli/main.go similarity index 100% rename from srv/src/cmd/mailinglist-cli/main.go rename to src/cmd/mailinglist-cli/main.go diff --git a/srv/src/cmd/mediocre-blog/main.go b/src/cmd/mediocre-blog/main.go similarity index 100% rename from srv/src/cmd/mediocre-blog/main.go rename to src/cmd/mediocre-blog/main.go diff --git a/srv/src/go.mod b/src/go.mod similarity index 100% rename from srv/src/go.mod rename to src/go.mod diff --git a/srv/src/go.sum b/src/go.sum similarity index 100% rename from srv/src/go.sum rename to src/go.sum diff --git a/srv/src/http/api.go b/src/http/api.go similarity index 100% rename from srv/src/http/api.go rename to src/http/api.go diff --git a/srv/src/http/apiutil/apiutil.go b/src/http/apiutil/apiutil.go similarity index 100% rename from srv/src/http/apiutil/apiutil.go rename to src/http/apiutil/apiutil.go diff --git a/srv/src/http/assets.go b/src/http/assets.go similarity index 100% rename from srv/src/http/assets.go rename to src/http/assets.go diff --git a/srv/src/http/auth.go b/src/http/auth.go similarity index 100% rename from srv/src/http/auth.go rename to src/http/auth.go diff --git a/srv/src/http/auth_test.go b/src/http/auth_test.go similarity index 100% rename from srv/src/http/auth_test.go rename to src/http/auth_test.go diff --git a/srv/src/http/csrf.go b/src/http/csrf.go similarity index 100% rename from srv/src/http/csrf.go rename to src/http/csrf.go diff --git a/srv/src/http/drafts.go b/src/http/drafts.go similarity index 100% rename from srv/src/http/drafts.go rename to src/http/drafts.go diff --git a/srv/src/http/feed.go b/src/http/feed.go similarity index 100% rename from srv/src/http/feed.go rename to src/http/feed.go diff --git a/srv/src/http/index.go b/src/http/index.go similarity index 100% rename from srv/src/http/index.go rename to src/http/index.go diff --git a/srv/src/http/mailinglist.go b/src/http/mailinglist.go similarity index 100% rename from srv/src/http/mailinglist.go rename to src/http/mailinglist.go diff --git a/srv/src/http/middleware.go b/src/http/middleware.go similarity index 100% rename from srv/src/http/middleware.go rename to src/http/middleware.go diff --git a/srv/src/http/posts.go b/src/http/posts.go similarity index 100% rename from srv/src/http/posts.go rename to src/http/posts.go diff --git a/srv/src/http/pow.go b/src/http/pow.go similarity index 100% rename from srv/src/http/pow.go rename to src/http/pow.go diff --git a/srv/src/http/static/api.js b/src/http/static/api.js similarity index 100% rename from srv/src/http/static/api.js rename to src/http/static/api.js diff --git a/srv/src/http/static/component-oriented-design/v1/main.go b/src/http/static/component-oriented-design/v1/main.go similarity index 100% rename from srv/src/http/static/component-oriented-design/v1/main.go rename to src/http/static/component-oriented-design/v1/main.go diff --git a/srv/src/http/static/component-oriented-design/v1/main_test.go b/src/http/static/component-oriented-design/v1/main_test.go similarity index 100% rename from srv/src/http/static/component-oriented-design/v1/main_test.go rename to src/http/static/component-oriented-design/v1/main_test.go diff --git a/srv/src/http/static/component-oriented-design/v2/main.go b/src/http/static/component-oriented-design/v2/main.go similarity index 100% rename from srv/src/http/static/component-oriented-design/v2/main.go rename to src/http/static/component-oriented-design/v2/main.go diff --git a/srv/src/http/static/component-oriented-design/v3/main.go b/src/http/static/component-oriented-design/v3/main.go similarity index 100% rename from srv/src/http/static/component-oriented-design/v3/main.go rename to src/http/static/component-oriented-design/v3/main.go diff --git a/srv/src/http/static/markov/Makefile b/src/http/static/markov/Makefile similarity index 100% rename from srv/src/http/static/markov/Makefile rename to src/http/static/markov/Makefile diff --git a/srv/src/http/static/markov/markov.nix b/src/http/static/markov/markov.nix similarity index 100% rename from srv/src/http/static/markov/markov.nix rename to src/http/static/markov/markov.nix diff --git a/srv/src/http/static/mediocre.css b/src/http/static/mediocre.css similarity index 100% rename from srv/src/http/static/mediocre.css rename to src/http/static/mediocre.css diff --git a/srv/src/http/static/new.css b/src/http/static/new.css similarity index 100% rename from srv/src/http/static/new.css rename to src/http/static/new.css diff --git a/srv/src/http/static/solvePow.js b/src/http/static/solvePow.js similarity index 100% rename from srv/src/http/static/solvePow.js rename to src/http/static/solvePow.js diff --git a/srv/src/http/static/trading-in-the-rain/CW.js b/src/http/static/trading-in-the-rain/CW.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/CW.js rename to src/http/static/trading-in-the-rain/CW.js diff --git a/srv/src/http/static/trading-in-the-rain/Distributor.js b/src/http/static/trading-in-the-rain/Distributor.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/Distributor.js rename to src/http/static/trading-in-the-rain/Distributor.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/LICENSE.txt b/src/http/static/trading-in-the-rain/MIDI.js/LICENSE.txt similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/LICENSE.txt rename to src/http/static/trading-in-the-rain/MIDI.js/LICENSE.txt diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64.js b/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64.js rename to src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64binary.js b/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64binary.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64binary.js rename to src/http/static/trading-in-the-rain/MIDI.js/inc/shim/Base64binary.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js b/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js rename to src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebAudioAPI.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebMIDIAPI.js b/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebMIDIAPI.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebMIDIAPI.js rename to src/http/static/trading-in-the-rain/MIDI.js/inc/shim/WebMIDIAPI.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/audioDetect.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/audioDetect.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/audioDetect.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/audioDetect.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/gm.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/gm.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/gm.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/gm.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/loader.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/loader.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/loader.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/loader.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/player.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/player.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/player.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/player.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.audiotag.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.audiotag.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.audiotag.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.audiotag.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webaudio.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webaudio.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webaudio.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webaudio.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webmidi.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webmidi.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webmidi.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/plugin.webmidi.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/synesthesia.js b/src/http/static/trading-in-the-rain/MIDI.js/js/midi/synesthesia.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/midi/synesthesia.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/midi/synesthesia.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js b/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_script.js diff --git a/srv/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_xhr.js b/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_xhr.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_xhr.js rename to src/http/static/trading-in-the-rain/MIDI.js/js/util/dom_request_xhr.js diff --git a/srv/src/http/static/trading-in-the-rain/MusicBox.js b/src/http/static/trading-in-the-rain/MusicBox.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/MusicBox.js rename to src/http/static/trading-in-the-rain/MusicBox.js diff --git a/srv/src/http/static/trading-in-the-rain/RainCanvas.js b/src/http/static/trading-in-the-rain/RainCanvas.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/RainCanvas.js rename to src/http/static/trading-in-the-rain/RainCanvas.js diff --git a/srv/src/http/static/trading-in-the-rain/SeriesComposer.js b/src/http/static/trading-in-the-rain/SeriesComposer.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/SeriesComposer.js rename to src/http/static/trading-in-the-rain/SeriesComposer.js diff --git a/srv/src/http/static/trading-in-the-rain/key.gpg b/src/http/static/trading-in-the-rain/key.gpg similarity index 100% rename from srv/src/http/static/trading-in-the-rain/key.gpg rename to src/http/static/trading-in-the-rain/key.gpg diff --git a/srv/src/http/static/trading-in-the-rain/main.js b/src/http/static/trading-in-the-rain/main.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/main.js rename to src/http/static/trading-in-the-rain/main.js diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3.js b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3.js rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3.js diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A0.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A0.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A0.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A0.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/A7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Ab7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B0.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B0.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B0.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B0.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/B7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb0.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb0.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb0.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb0.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Bb7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C8.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C8.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C8.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/C8.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/D7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db8.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db8.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db8.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Db8.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/E7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Eb7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/F7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/G7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb1.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb1.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb1.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb1.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb2.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb2.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb2.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb2.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb3.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb3.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb3.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb3.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb4.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb4.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb4.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb4.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb5.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb5.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb5.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb5.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb6.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb6.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb6.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb6.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb7.mp3 b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb7.mp3 similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb7.mp3 rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-mp3/Gb7.mp3 diff --git a/srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-ogg.js b/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-ogg.js similarity index 100% rename from srv/src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-ogg.js rename to src/http/static/trading-in-the-rain/soundfont/acoustic_grand_piano-ogg.js diff --git a/srv/src/http/static/utils.js b/src/http/static/utils.js similarity index 100% rename from srv/src/http/static/utils.js rename to src/http/static/utils.js diff --git a/srv/src/http/static/viz/1/cljs/core.cljs b/src/http/static/viz/1/cljs/core.cljs similarity index 100% rename from srv/src/http/static/viz/1/cljs/core.cljs rename to src/http/static/viz/1/cljs/core.cljs diff --git a/srv/src/http/static/viz/1/cljs/core.js b/src/http/static/viz/1/cljs/core.js similarity index 100% rename from srv/src/http/static/viz/1/cljs/core.js rename to src/http/static/viz/1/cljs/core.js diff --git a/srv/src/http/static/viz/1/cljs/core.js.map b/src/http/static/viz/1/cljs/core.js.map similarity index 100% rename from srv/src/http/static/viz/1/cljs/core.js.map rename to src/http/static/viz/1/cljs/core.js.map diff --git a/srv/src/http/static/viz/1/cljs_deps.js b/src/http/static/viz/1/cljs_deps.js similarity index 100% rename from srv/src/http/static/viz/1/cljs_deps.js rename to src/http/static/viz/1/cljs_deps.js diff --git a/srv/src/http/static/viz/1/clojure/set.cljs b/src/http/static/viz/1/clojure/set.cljs similarity index 100% rename from srv/src/http/static/viz/1/clojure/set.cljs rename to src/http/static/viz/1/clojure/set.cljs diff --git a/srv/src/http/static/viz/1/clojure/set.cljs.cache.edn b/src/http/static/viz/1/clojure/set.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/clojure/set.cljs.cache.edn rename to src/http/static/viz/1/clojure/set.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/clojure/set.js b/src/http/static/viz/1/clojure/set.js similarity index 100% rename from srv/src/http/static/viz/1/clojure/set.js rename to src/http/static/viz/1/clojure/set.js diff --git a/srv/src/http/static/viz/1/clojure/set.js.map b/src/http/static/viz/1/clojure/set.js.map similarity index 100% rename from srv/src/http/static/viz/1/clojure/set.js.map rename to src/http/static/viz/1/clojure/set.js.map diff --git a/srv/src/http/static/viz/1/clojure/string.cljs b/src/http/static/viz/1/clojure/string.cljs similarity index 100% rename from srv/src/http/static/viz/1/clojure/string.cljs rename to src/http/static/viz/1/clojure/string.cljs diff --git a/srv/src/http/static/viz/1/clojure/string.cljs.cache.edn b/src/http/static/viz/1/clojure/string.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/clojure/string.cljs.cache.edn rename to src/http/static/viz/1/clojure/string.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/clojure/string.js b/src/http/static/viz/1/clojure/string.js similarity index 100% rename from srv/src/http/static/viz/1/clojure/string.js rename to src/http/static/viz/1/clojure/string.js diff --git a/srv/src/http/static/viz/1/clojure/string.js.map b/src/http/static/viz/1/clojure/string.js.map similarity index 100% rename from srv/src/http/static/viz/1/clojure/string.js.map rename to src/http/static/viz/1/clojure/string.js.map diff --git a/srv/src/http/static/viz/1/goog/array/array.js b/src/http/static/viz/1/goog/array/array.js similarity index 100% rename from srv/src/http/static/viz/1/goog/array/array.js rename to src/http/static/viz/1/goog/array/array.js diff --git a/srv/src/http/static/viz/1/goog/asserts/asserts.js b/src/http/static/viz/1/goog/asserts/asserts.js similarity index 100% rename from srv/src/http/static/viz/1/goog/asserts/asserts.js rename to src/http/static/viz/1/goog/asserts/asserts.js diff --git a/srv/src/http/static/viz/1/goog/base.js b/src/http/static/viz/1/goog/base.js similarity index 100% rename from srv/src/http/static/viz/1/goog/base.js rename to src/http/static/viz/1/goog/base.js diff --git a/srv/src/http/static/viz/1/goog/debug/entrypointregistry.js b/src/http/static/viz/1/goog/debug/entrypointregistry.js similarity index 100% rename from srv/src/http/static/viz/1/goog/debug/entrypointregistry.js rename to src/http/static/viz/1/goog/debug/entrypointregistry.js diff --git a/srv/src/http/static/viz/1/goog/debug/error.js b/src/http/static/viz/1/goog/debug/error.js similarity index 100% rename from srv/src/http/static/viz/1/goog/debug/error.js rename to src/http/static/viz/1/goog/debug/error.js diff --git a/srv/src/http/static/viz/1/goog/deps.js b/src/http/static/viz/1/goog/deps.js similarity index 100% rename from srv/src/http/static/viz/1/goog/deps.js rename to src/http/static/viz/1/goog/deps.js diff --git a/srv/src/http/static/viz/1/goog/disposable/disposable.js b/src/http/static/viz/1/goog/disposable/disposable.js similarity index 100% rename from srv/src/http/static/viz/1/goog/disposable/disposable.js rename to src/http/static/viz/1/goog/disposable/disposable.js diff --git a/srv/src/http/static/viz/1/goog/disposable/idisposable.js b/src/http/static/viz/1/goog/disposable/idisposable.js similarity index 100% rename from srv/src/http/static/viz/1/goog/disposable/idisposable.js rename to src/http/static/viz/1/goog/disposable/idisposable.js diff --git a/srv/src/http/static/viz/1/goog/dom/browserfeature.js b/src/http/static/viz/1/goog/dom/browserfeature.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/browserfeature.js rename to src/http/static/viz/1/goog/dom/browserfeature.js diff --git a/srv/src/http/static/viz/1/goog/dom/dom.js b/src/http/static/viz/1/goog/dom/dom.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/dom.js rename to src/http/static/viz/1/goog/dom/dom.js diff --git a/srv/src/http/static/viz/1/goog/dom/nodetype.js b/src/http/static/viz/1/goog/dom/nodetype.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/nodetype.js rename to src/http/static/viz/1/goog/dom/nodetype.js diff --git a/srv/src/http/static/viz/1/goog/dom/safe.js b/src/http/static/viz/1/goog/dom/safe.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/safe.js rename to src/http/static/viz/1/goog/dom/safe.js diff --git a/srv/src/http/static/viz/1/goog/dom/tagname.js b/src/http/static/viz/1/goog/dom/tagname.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/tagname.js rename to src/http/static/viz/1/goog/dom/tagname.js diff --git a/srv/src/http/static/viz/1/goog/dom/tags.js b/src/http/static/viz/1/goog/dom/tags.js similarity index 100% rename from srv/src/http/static/viz/1/goog/dom/tags.js rename to src/http/static/viz/1/goog/dom/tags.js diff --git a/srv/src/http/static/viz/1/goog/events/browserevent.js b/src/http/static/viz/1/goog/events/browserevent.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/browserevent.js rename to src/http/static/viz/1/goog/events/browserevent.js diff --git a/srv/src/http/static/viz/1/goog/events/browserfeature.js b/src/http/static/viz/1/goog/events/browserfeature.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/browserfeature.js rename to src/http/static/viz/1/goog/events/browserfeature.js diff --git a/srv/src/http/static/viz/1/goog/events/event.js b/src/http/static/viz/1/goog/events/event.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/event.js rename to src/http/static/viz/1/goog/events/event.js diff --git a/srv/src/http/static/viz/1/goog/events/eventid.js b/src/http/static/viz/1/goog/events/eventid.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/eventid.js rename to src/http/static/viz/1/goog/events/eventid.js diff --git a/srv/src/http/static/viz/1/goog/events/events.js b/src/http/static/viz/1/goog/events/events.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/events.js rename to src/http/static/viz/1/goog/events/events.js diff --git a/srv/src/http/static/viz/1/goog/events/eventtype.js b/src/http/static/viz/1/goog/events/eventtype.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/eventtype.js rename to src/http/static/viz/1/goog/events/eventtype.js diff --git a/srv/src/http/static/viz/1/goog/events/listenable.js b/src/http/static/viz/1/goog/events/listenable.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/listenable.js rename to src/http/static/viz/1/goog/events/listenable.js diff --git a/srv/src/http/static/viz/1/goog/events/listener.js b/src/http/static/viz/1/goog/events/listener.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/listener.js rename to src/http/static/viz/1/goog/events/listener.js diff --git a/srv/src/http/static/viz/1/goog/events/listenermap.js b/src/http/static/viz/1/goog/events/listenermap.js similarity index 100% rename from srv/src/http/static/viz/1/goog/events/listenermap.js rename to src/http/static/viz/1/goog/events/listenermap.js diff --git a/srv/src/http/static/viz/1/goog/fs/url.js b/src/http/static/viz/1/goog/fs/url.js similarity index 100% rename from srv/src/http/static/viz/1/goog/fs/url.js rename to src/http/static/viz/1/goog/fs/url.js diff --git a/srv/src/http/static/viz/1/goog/html/safehtml.js b/src/http/static/viz/1/goog/html/safehtml.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/safehtml.js rename to src/http/static/viz/1/goog/html/safehtml.js diff --git a/srv/src/http/static/viz/1/goog/html/safescript.js b/src/http/static/viz/1/goog/html/safescript.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/safescript.js rename to src/http/static/viz/1/goog/html/safescript.js diff --git a/srv/src/http/static/viz/1/goog/html/safestyle.js b/src/http/static/viz/1/goog/html/safestyle.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/safestyle.js rename to src/http/static/viz/1/goog/html/safestyle.js diff --git a/srv/src/http/static/viz/1/goog/html/safestylesheet.js b/src/http/static/viz/1/goog/html/safestylesheet.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/safestylesheet.js rename to src/http/static/viz/1/goog/html/safestylesheet.js diff --git a/srv/src/http/static/viz/1/goog/html/safeurl.js b/src/http/static/viz/1/goog/html/safeurl.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/safeurl.js rename to src/http/static/viz/1/goog/html/safeurl.js diff --git a/srv/src/http/static/viz/1/goog/html/trustedresourceurl.js b/src/http/static/viz/1/goog/html/trustedresourceurl.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/trustedresourceurl.js rename to src/http/static/viz/1/goog/html/trustedresourceurl.js diff --git a/srv/src/http/static/viz/1/goog/html/uncheckedconversions.js b/src/http/static/viz/1/goog/html/uncheckedconversions.js similarity index 100% rename from srv/src/http/static/viz/1/goog/html/uncheckedconversions.js rename to src/http/static/viz/1/goog/html/uncheckedconversions.js diff --git a/srv/src/http/static/viz/1/goog/i18n/bidi.js b/src/http/static/viz/1/goog/i18n/bidi.js similarity index 100% rename from srv/src/http/static/viz/1/goog/i18n/bidi.js rename to src/http/static/viz/1/goog/i18n/bidi.js diff --git a/srv/src/http/static/viz/1/goog/labs/useragent/browser.js b/src/http/static/viz/1/goog/labs/useragent/browser.js similarity index 100% rename from srv/src/http/static/viz/1/goog/labs/useragent/browser.js rename to src/http/static/viz/1/goog/labs/useragent/browser.js diff --git a/srv/src/http/static/viz/1/goog/labs/useragent/engine.js b/src/http/static/viz/1/goog/labs/useragent/engine.js similarity index 100% rename from srv/src/http/static/viz/1/goog/labs/useragent/engine.js rename to src/http/static/viz/1/goog/labs/useragent/engine.js diff --git a/srv/src/http/static/viz/1/goog/labs/useragent/platform.js b/src/http/static/viz/1/goog/labs/useragent/platform.js similarity index 100% rename from srv/src/http/static/viz/1/goog/labs/useragent/platform.js rename to src/http/static/viz/1/goog/labs/useragent/platform.js diff --git a/srv/src/http/static/viz/1/goog/labs/useragent/util.js b/src/http/static/viz/1/goog/labs/useragent/util.js similarity index 100% rename from srv/src/http/static/viz/1/goog/labs/useragent/util.js rename to src/http/static/viz/1/goog/labs/useragent/util.js diff --git a/srv/src/http/static/viz/1/goog/math/coordinate.js b/src/http/static/viz/1/goog/math/coordinate.js similarity index 100% rename from srv/src/http/static/viz/1/goog/math/coordinate.js rename to src/http/static/viz/1/goog/math/coordinate.js diff --git a/srv/src/http/static/viz/1/goog/math/integer.js b/src/http/static/viz/1/goog/math/integer.js similarity index 100% rename from srv/src/http/static/viz/1/goog/math/integer.js rename to src/http/static/viz/1/goog/math/integer.js diff --git a/srv/src/http/static/viz/1/goog/math/long.js b/src/http/static/viz/1/goog/math/long.js similarity index 100% rename from srv/src/http/static/viz/1/goog/math/long.js rename to src/http/static/viz/1/goog/math/long.js diff --git a/srv/src/http/static/viz/1/goog/math/math.js b/src/http/static/viz/1/goog/math/math.js similarity index 100% rename from srv/src/http/static/viz/1/goog/math/math.js rename to src/http/static/viz/1/goog/math/math.js diff --git a/srv/src/http/static/viz/1/goog/math/size.js b/src/http/static/viz/1/goog/math/size.js similarity index 100% rename from srv/src/http/static/viz/1/goog/math/size.js rename to src/http/static/viz/1/goog/math/size.js diff --git a/srv/src/http/static/viz/1/goog/object/object.js b/src/http/static/viz/1/goog/object/object.js similarity index 100% rename from srv/src/http/static/viz/1/goog/object/object.js rename to src/http/static/viz/1/goog/object/object.js diff --git a/srv/src/http/static/viz/1/goog/reflect/reflect.js b/src/http/static/viz/1/goog/reflect/reflect.js similarity index 100% rename from srv/src/http/static/viz/1/goog/reflect/reflect.js rename to src/http/static/viz/1/goog/reflect/reflect.js diff --git a/srv/src/http/static/viz/1/goog/string/const.js b/src/http/static/viz/1/goog/string/const.js similarity index 100% rename from srv/src/http/static/viz/1/goog/string/const.js rename to src/http/static/viz/1/goog/string/const.js diff --git a/srv/src/http/static/viz/1/goog/string/string.js b/src/http/static/viz/1/goog/string/string.js similarity index 100% rename from srv/src/http/static/viz/1/goog/string/string.js rename to src/http/static/viz/1/goog/string/string.js diff --git a/srv/src/http/static/viz/1/goog/string/stringbuffer.js b/src/http/static/viz/1/goog/string/stringbuffer.js similarity index 100% rename from srv/src/http/static/viz/1/goog/string/stringbuffer.js rename to src/http/static/viz/1/goog/string/stringbuffer.js diff --git a/srv/src/http/static/viz/1/goog/string/stringformat.js b/src/http/static/viz/1/goog/string/stringformat.js similarity index 100% rename from srv/src/http/static/viz/1/goog/string/stringformat.js rename to src/http/static/viz/1/goog/string/stringformat.js diff --git a/srv/src/http/static/viz/1/goog/string/typedstring.js b/src/http/static/viz/1/goog/string/typedstring.js similarity index 100% rename from srv/src/http/static/viz/1/goog/string/typedstring.js rename to src/http/static/viz/1/goog/string/typedstring.js diff --git a/srv/src/http/static/viz/1/goog/useragent/useragent.js b/src/http/static/viz/1/goog/useragent/useragent.js similarity index 100% rename from srv/src/http/static/viz/1/goog/useragent/useragent.js rename to src/http/static/viz/1/goog/useragent/useragent.js diff --git a/srv/src/http/static/viz/1/processing.js b/src/http/static/viz/1/processing.js similarity index 100% rename from srv/src/http/static/viz/1/processing.js rename to src/http/static/viz/1/processing.js diff --git a/srv/src/http/static/viz/1/quil/core.cljc b/src/http/static/viz/1/quil/core.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/core.cljc rename to src/http/static/viz/1/quil/core.cljc diff --git a/srv/src/http/static/viz/1/quil/core.cljc.cache.edn b/src/http/static/viz/1/quil/core.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/core.cljc.cache.edn rename to src/http/static/viz/1/quil/core.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/core.js b/src/http/static/viz/1/quil/core.js similarity index 100% rename from srv/src/http/static/viz/1/quil/core.js rename to src/http/static/viz/1/quil/core.js diff --git a/srv/src/http/static/viz/1/quil/core.js.map b/src/http/static/viz/1/quil/core.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/core.js.map rename to src/http/static/viz/1/quil/core.js.map diff --git a/srv/src/http/static/viz/1/quil/middleware.cljc b/src/http/static/viz/1/quil/middleware.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/middleware.cljc rename to src/http/static/viz/1/quil/middleware.cljc diff --git a/srv/src/http/static/viz/1/quil/middleware.cljc.cache.edn b/src/http/static/viz/1/quil/middleware.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/middleware.cljc.cache.edn rename to src/http/static/viz/1/quil/middleware.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/middleware.js b/src/http/static/viz/1/quil/middleware.js similarity index 100% rename from srv/src/http/static/viz/1/quil/middleware.js rename to src/http/static/viz/1/quil/middleware.js diff --git a/srv/src/http/static/viz/1/quil/middleware.js.map b/src/http/static/viz/1/quil/middleware.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/middleware.js.map rename to src/http/static/viz/1/quil/middleware.js.map diff --git a/srv/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc b/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc rename to src/http/static/viz/1/quil/middlewares/deprecated_options.cljc diff --git a/srv/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc.cache.edn b/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/deprecated_options.cljc.cache.edn rename to src/http/static/viz/1/quil/middlewares/deprecated_options.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/middlewares/deprecated_options.js b/src/http/static/viz/1/quil/middlewares/deprecated_options.js similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/deprecated_options.js rename to src/http/static/viz/1/quil/middlewares/deprecated_options.js diff --git a/srv/src/http/static/viz/1/quil/middlewares/deprecated_options.js.map b/src/http/static/viz/1/quil/middlewares/deprecated_options.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/deprecated_options.js.map rename to src/http/static/viz/1/quil/middlewares/deprecated_options.js.map diff --git a/srv/src/http/static/viz/1/quil/middlewares/fun_mode.cljc b/src/http/static/viz/1/quil/middlewares/fun_mode.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/fun_mode.cljc rename to src/http/static/viz/1/quil/middlewares/fun_mode.cljc diff --git a/srv/src/http/static/viz/1/quil/middlewares/fun_mode.cljc.cache.edn b/src/http/static/viz/1/quil/middlewares/fun_mode.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/fun_mode.cljc.cache.edn rename to src/http/static/viz/1/quil/middlewares/fun_mode.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/middlewares/fun_mode.js b/src/http/static/viz/1/quil/middlewares/fun_mode.js similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/fun_mode.js rename to src/http/static/viz/1/quil/middlewares/fun_mode.js diff --git a/srv/src/http/static/viz/1/quil/middlewares/fun_mode.js.map b/src/http/static/viz/1/quil/middlewares/fun_mode.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/fun_mode.js.map rename to src/http/static/viz/1/quil/middlewares/fun_mode.js.map diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc b/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc rename to src/http/static/viz/1/quil/middlewares/navigation_2d.cljc diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc.cache.edn b/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_2d.cljc.cache.edn rename to src/http/static/viz/1/quil/middlewares/navigation_2d.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_2d.js b/src/http/static/viz/1/quil/middlewares/navigation_2d.js similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_2d.js rename to src/http/static/viz/1/quil/middlewares/navigation_2d.js diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_2d.js.map b/src/http/static/viz/1/quil/middlewares/navigation_2d.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_2d.js.map rename to src/http/static/viz/1/quil/middlewares/navigation_2d.js.map diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc b/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc rename to src/http/static/viz/1/quil/middlewares/navigation_3d.cljc diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc.cache.edn b/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_3d.cljc.cache.edn rename to src/http/static/viz/1/quil/middlewares/navigation_3d.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_3d.js b/src/http/static/viz/1/quil/middlewares/navigation_3d.js similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_3d.js rename to src/http/static/viz/1/quil/middlewares/navigation_3d.js diff --git a/srv/src/http/static/viz/1/quil/middlewares/navigation_3d.js.map b/src/http/static/viz/1/quil/middlewares/navigation_3d.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/middlewares/navigation_3d.js.map rename to src/http/static/viz/1/quil/middlewares/navigation_3d.js.map diff --git a/srv/src/http/static/viz/1/quil/sketch.cljs b/src/http/static/viz/1/quil/sketch.cljs similarity index 100% rename from srv/src/http/static/viz/1/quil/sketch.cljs rename to src/http/static/viz/1/quil/sketch.cljs diff --git a/srv/src/http/static/viz/1/quil/sketch.cljs.cache.edn b/src/http/static/viz/1/quil/sketch.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/sketch.cljs.cache.edn rename to src/http/static/viz/1/quil/sketch.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/quil/sketch.js b/src/http/static/viz/1/quil/sketch.js similarity index 100% rename from srv/src/http/static/viz/1/quil/sketch.js rename to src/http/static/viz/1/quil/sketch.js diff --git a/srv/src/http/static/viz/1/quil/sketch.js.map b/src/http/static/viz/1/quil/sketch.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/sketch.js.map rename to src/http/static/viz/1/quil/sketch.js.map diff --git a/srv/src/http/static/viz/1/quil/util.cljc b/src/http/static/viz/1/quil/util.cljc similarity index 100% rename from srv/src/http/static/viz/1/quil/util.cljc rename to src/http/static/viz/1/quil/util.cljc diff --git a/srv/src/http/static/viz/1/quil/util.cljc.cache.edn b/src/http/static/viz/1/quil/util.cljc.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/quil/util.cljc.cache.edn rename to src/http/static/viz/1/quil/util.cljc.cache.edn diff --git a/srv/src/http/static/viz/1/quil/util.js b/src/http/static/viz/1/quil/util.js similarity index 100% rename from srv/src/http/static/viz/1/quil/util.js rename to src/http/static/viz/1/quil/util.js diff --git a/srv/src/http/static/viz/1/quil/util.js.map b/src/http/static/viz/1/quil/util.js.map similarity index 100% rename from srv/src/http/static/viz/1/quil/util.js.map rename to src/http/static/viz/1/quil/util.js.map diff --git a/srv/src/http/static/viz/1/viz/core.cljs b/src/http/static/viz/1/viz/core.cljs similarity index 100% rename from srv/src/http/static/viz/1/viz/core.cljs rename to src/http/static/viz/1/viz/core.cljs diff --git a/srv/src/http/static/viz/1/viz/core.cljs.cache.edn b/src/http/static/viz/1/viz/core.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/viz/core.cljs.cache.edn rename to src/http/static/viz/1/viz/core.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/viz/core.js b/src/http/static/viz/1/viz/core.js similarity index 100% rename from srv/src/http/static/viz/1/viz/core.js rename to src/http/static/viz/1/viz/core.js diff --git a/srv/src/http/static/viz/1/viz/core.js.map b/src/http/static/viz/1/viz/core.js.map similarity index 100% rename from srv/src/http/static/viz/1/viz/core.js.map rename to src/http/static/viz/1/viz/core.js.map diff --git a/srv/src/http/static/viz/1/viz/forest.cljs b/src/http/static/viz/1/viz/forest.cljs similarity index 100% rename from srv/src/http/static/viz/1/viz/forest.cljs rename to src/http/static/viz/1/viz/forest.cljs diff --git a/srv/src/http/static/viz/1/viz/forest.cljs.cache.edn b/src/http/static/viz/1/viz/forest.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/viz/forest.cljs.cache.edn rename to src/http/static/viz/1/viz/forest.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/viz/forest.js b/src/http/static/viz/1/viz/forest.js similarity index 100% rename from srv/src/http/static/viz/1/viz/forest.js rename to src/http/static/viz/1/viz/forest.js diff --git a/srv/src/http/static/viz/1/viz/forest.js.map b/src/http/static/viz/1/viz/forest.js.map similarity index 100% rename from srv/src/http/static/viz/1/viz/forest.js.map rename to src/http/static/viz/1/viz/forest.js.map diff --git a/srv/src/http/static/viz/1/viz/ghost.cljs b/src/http/static/viz/1/viz/ghost.cljs similarity index 100% rename from srv/src/http/static/viz/1/viz/ghost.cljs rename to src/http/static/viz/1/viz/ghost.cljs diff --git a/srv/src/http/static/viz/1/viz/ghost.cljs.cache.edn b/src/http/static/viz/1/viz/ghost.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/viz/ghost.cljs.cache.edn rename to src/http/static/viz/1/viz/ghost.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/viz/ghost.js b/src/http/static/viz/1/viz/ghost.js similarity index 100% rename from srv/src/http/static/viz/1/viz/ghost.js rename to src/http/static/viz/1/viz/ghost.js diff --git a/srv/src/http/static/viz/1/viz/ghost.js.map b/src/http/static/viz/1/viz/ghost.js.map similarity index 100% rename from srv/src/http/static/viz/1/viz/ghost.js.map rename to src/http/static/viz/1/viz/ghost.js.map diff --git a/srv/src/http/static/viz/1/viz/grid.cljs b/src/http/static/viz/1/viz/grid.cljs similarity index 100% rename from srv/src/http/static/viz/1/viz/grid.cljs rename to src/http/static/viz/1/viz/grid.cljs diff --git a/srv/src/http/static/viz/1/viz/grid.cljs.cache.edn b/src/http/static/viz/1/viz/grid.cljs.cache.edn similarity index 100% rename from srv/src/http/static/viz/1/viz/grid.cljs.cache.edn rename to src/http/static/viz/1/viz/grid.cljs.cache.edn diff --git a/srv/src/http/static/viz/1/viz/grid.js b/src/http/static/viz/1/viz/grid.js similarity index 100% rename from srv/src/http/static/viz/1/viz/grid.js rename to src/http/static/viz/1/viz/grid.js diff --git a/srv/src/http/static/viz/1/viz/grid.js.map b/src/http/static/viz/1/viz/grid.js.map similarity index 100% rename from srv/src/http/static/viz/1/viz/grid.js.map rename to src/http/static/viz/1/viz/grid.js.map diff --git a/srv/src/http/static/viz/2/cljs/core.cljs b/src/http/static/viz/2/cljs/core.cljs similarity index 100% rename from srv/src/http/static/viz/2/cljs/core.cljs rename to src/http/static/viz/2/cljs/core.cljs diff --git a/srv/src/http/static/viz/2/cljs/core.js b/src/http/static/viz/2/cljs/core.js similarity index 100% rename from srv/src/http/static/viz/2/cljs/core.js rename to src/http/static/viz/2/cljs/core.js diff --git a/srv/src/http/static/viz/2/cljs/core.js.map b/src/http/static/viz/2/cljs/core.js.map similarity index 100% rename from srv/src/http/static/viz/2/cljs/core.js.map rename to src/http/static/viz/2/cljs/core.js.map diff --git a/srv/src/http/static/viz/2/cljs/user/debug9D984AE.cljs.cache.json b/src/http/static/viz/2/cljs/user/debug9D984AE.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/cljs/user/debug9D984AE.cljs.cache.json rename to src/http/static/viz/2/cljs/user/debug9D984AE.cljs.cache.json diff --git a/srv/src/http/static/viz/2/cljs/user/debug9D984AE.js b/src/http/static/viz/2/cljs/user/debug9D984AE.js similarity index 100% rename from srv/src/http/static/viz/2/cljs/user/debug9D984AE.js rename to src/http/static/viz/2/cljs/user/debug9D984AE.js diff --git a/srv/src/http/static/viz/2/cljs/user/debug9D984AE.js.map b/src/http/static/viz/2/cljs/user/debug9D984AE.js.map similarity index 100% rename from srv/src/http/static/viz/2/cljs/user/debug9D984AE.js.map rename to src/http/static/viz/2/cljs/user/debug9D984AE.js.map diff --git a/srv/src/http/static/viz/2/cljs_deps.js b/src/http/static/viz/2/cljs_deps.js similarity index 100% rename from srv/src/http/static/viz/2/cljs_deps.js rename to src/http/static/viz/2/cljs_deps.js diff --git a/srv/src/http/static/viz/2/cljsc_opts.edn b/src/http/static/viz/2/cljsc_opts.edn similarity index 100% rename from srv/src/http/static/viz/2/cljsc_opts.edn rename to src/http/static/viz/2/cljsc_opts.edn diff --git a/srv/src/http/static/viz/2/clojure/set.cljs b/src/http/static/viz/2/clojure/set.cljs similarity index 100% rename from srv/src/http/static/viz/2/clojure/set.cljs rename to src/http/static/viz/2/clojure/set.cljs diff --git a/srv/src/http/static/viz/2/clojure/set.cljs.cache.json b/src/http/static/viz/2/clojure/set.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/clojure/set.cljs.cache.json rename to src/http/static/viz/2/clojure/set.cljs.cache.json diff --git a/srv/src/http/static/viz/2/clojure/set.js b/src/http/static/viz/2/clojure/set.js similarity index 100% rename from srv/src/http/static/viz/2/clojure/set.js rename to src/http/static/viz/2/clojure/set.js diff --git a/srv/src/http/static/viz/2/clojure/set.js.map b/src/http/static/viz/2/clojure/set.js.map similarity index 100% rename from srv/src/http/static/viz/2/clojure/set.js.map rename to src/http/static/viz/2/clojure/set.js.map diff --git a/srv/src/http/static/viz/2/clojure/string.cljs b/src/http/static/viz/2/clojure/string.cljs similarity index 100% rename from srv/src/http/static/viz/2/clojure/string.cljs rename to src/http/static/viz/2/clojure/string.cljs diff --git a/srv/src/http/static/viz/2/clojure/string.cljs.cache.json b/src/http/static/viz/2/clojure/string.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/clojure/string.cljs.cache.json rename to src/http/static/viz/2/clojure/string.cljs.cache.json diff --git a/srv/src/http/static/viz/2/clojure/string.js b/src/http/static/viz/2/clojure/string.js similarity index 100% rename from srv/src/http/static/viz/2/clojure/string.js rename to src/http/static/viz/2/clojure/string.js diff --git a/srv/src/http/static/viz/2/clojure/string.js.map b/src/http/static/viz/2/clojure/string.js.map similarity index 100% rename from srv/src/http/static/viz/2/clojure/string.js.map rename to src/http/static/viz/2/clojure/string.js.map diff --git a/srv/src/http/static/viz/2/goog/array/array.js b/src/http/static/viz/2/goog/array/array.js similarity index 100% rename from srv/src/http/static/viz/2/goog/array/array.js rename to src/http/static/viz/2/goog/array/array.js diff --git a/srv/src/http/static/viz/2/goog/asserts/asserts.js b/src/http/static/viz/2/goog/asserts/asserts.js similarity index 100% rename from srv/src/http/static/viz/2/goog/asserts/asserts.js rename to src/http/static/viz/2/goog/asserts/asserts.js diff --git a/srv/src/http/static/viz/2/goog/base.js b/src/http/static/viz/2/goog/base.js similarity index 100% rename from srv/src/http/static/viz/2/goog/base.js rename to src/http/static/viz/2/goog/base.js diff --git a/srv/src/http/static/viz/2/goog/debug/entrypointregistry.js b/src/http/static/viz/2/goog/debug/entrypointregistry.js similarity index 100% rename from srv/src/http/static/viz/2/goog/debug/entrypointregistry.js rename to src/http/static/viz/2/goog/debug/entrypointregistry.js diff --git a/srv/src/http/static/viz/2/goog/debug/error.js b/src/http/static/viz/2/goog/debug/error.js similarity index 100% rename from srv/src/http/static/viz/2/goog/debug/error.js rename to src/http/static/viz/2/goog/debug/error.js diff --git a/srv/src/http/static/viz/2/goog/deps.js b/src/http/static/viz/2/goog/deps.js similarity index 100% rename from srv/src/http/static/viz/2/goog/deps.js rename to src/http/static/viz/2/goog/deps.js diff --git a/srv/src/http/static/viz/2/goog/disposable/disposable.js b/src/http/static/viz/2/goog/disposable/disposable.js similarity index 100% rename from srv/src/http/static/viz/2/goog/disposable/disposable.js rename to src/http/static/viz/2/goog/disposable/disposable.js diff --git a/srv/src/http/static/viz/2/goog/disposable/idisposable.js b/src/http/static/viz/2/goog/disposable/idisposable.js similarity index 100% rename from srv/src/http/static/viz/2/goog/disposable/idisposable.js rename to src/http/static/viz/2/goog/disposable/idisposable.js diff --git a/srv/src/http/static/viz/2/goog/dom/asserts.js b/src/http/static/viz/2/goog/dom/asserts.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/asserts.js rename to src/http/static/viz/2/goog/dom/asserts.js diff --git a/srv/src/http/static/viz/2/goog/dom/browserfeature.js b/src/http/static/viz/2/goog/dom/browserfeature.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/browserfeature.js rename to src/http/static/viz/2/goog/dom/browserfeature.js diff --git a/srv/src/http/static/viz/2/goog/dom/dom.js b/src/http/static/viz/2/goog/dom/dom.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/dom.js rename to src/http/static/viz/2/goog/dom/dom.js diff --git a/srv/src/http/static/viz/2/goog/dom/htmlelement.js b/src/http/static/viz/2/goog/dom/htmlelement.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/htmlelement.js rename to src/http/static/viz/2/goog/dom/htmlelement.js diff --git a/srv/src/http/static/viz/2/goog/dom/nodetype.js b/src/http/static/viz/2/goog/dom/nodetype.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/nodetype.js rename to src/http/static/viz/2/goog/dom/nodetype.js diff --git a/srv/src/http/static/viz/2/goog/dom/safe.js b/src/http/static/viz/2/goog/dom/safe.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/safe.js rename to src/http/static/viz/2/goog/dom/safe.js diff --git a/srv/src/http/static/viz/2/goog/dom/tagname.js b/src/http/static/viz/2/goog/dom/tagname.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/tagname.js rename to src/http/static/viz/2/goog/dom/tagname.js diff --git a/srv/src/http/static/viz/2/goog/dom/tags.js b/src/http/static/viz/2/goog/dom/tags.js similarity index 100% rename from srv/src/http/static/viz/2/goog/dom/tags.js rename to src/http/static/viz/2/goog/dom/tags.js diff --git a/srv/src/http/static/viz/2/goog/events/browserevent.js b/src/http/static/viz/2/goog/events/browserevent.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/browserevent.js rename to src/http/static/viz/2/goog/events/browserevent.js diff --git a/srv/src/http/static/viz/2/goog/events/browserfeature.js b/src/http/static/viz/2/goog/events/browserfeature.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/browserfeature.js rename to src/http/static/viz/2/goog/events/browserfeature.js diff --git a/srv/src/http/static/viz/2/goog/events/event.js b/src/http/static/viz/2/goog/events/event.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/event.js rename to src/http/static/viz/2/goog/events/event.js diff --git a/srv/src/http/static/viz/2/goog/events/eventid.js b/src/http/static/viz/2/goog/events/eventid.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/eventid.js rename to src/http/static/viz/2/goog/events/eventid.js diff --git a/srv/src/http/static/viz/2/goog/events/events.js b/src/http/static/viz/2/goog/events/events.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/events.js rename to src/http/static/viz/2/goog/events/events.js diff --git a/srv/src/http/static/viz/2/goog/events/eventtype.js b/src/http/static/viz/2/goog/events/eventtype.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/eventtype.js rename to src/http/static/viz/2/goog/events/eventtype.js diff --git a/srv/src/http/static/viz/2/goog/events/listenable.js b/src/http/static/viz/2/goog/events/listenable.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/listenable.js rename to src/http/static/viz/2/goog/events/listenable.js diff --git a/srv/src/http/static/viz/2/goog/events/listener.js b/src/http/static/viz/2/goog/events/listener.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/listener.js rename to src/http/static/viz/2/goog/events/listener.js diff --git a/srv/src/http/static/viz/2/goog/events/listenermap.js b/src/http/static/viz/2/goog/events/listenermap.js similarity index 100% rename from srv/src/http/static/viz/2/goog/events/listenermap.js rename to src/http/static/viz/2/goog/events/listenermap.js diff --git a/srv/src/http/static/viz/2/goog/fs/url.js b/src/http/static/viz/2/goog/fs/url.js similarity index 100% rename from srv/src/http/static/viz/2/goog/fs/url.js rename to src/http/static/viz/2/goog/fs/url.js diff --git a/srv/src/http/static/viz/2/goog/functions/functions.js b/src/http/static/viz/2/goog/functions/functions.js similarity index 100% rename from srv/src/http/static/viz/2/goog/functions/functions.js rename to src/http/static/viz/2/goog/functions/functions.js diff --git a/srv/src/http/static/viz/2/goog/html/safehtml.js b/src/http/static/viz/2/goog/html/safehtml.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/safehtml.js rename to src/http/static/viz/2/goog/html/safehtml.js diff --git a/srv/src/http/static/viz/2/goog/html/safescript.js b/src/http/static/viz/2/goog/html/safescript.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/safescript.js rename to src/http/static/viz/2/goog/html/safescript.js diff --git a/srv/src/http/static/viz/2/goog/html/safestyle.js b/src/http/static/viz/2/goog/html/safestyle.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/safestyle.js rename to src/http/static/viz/2/goog/html/safestyle.js diff --git a/srv/src/http/static/viz/2/goog/html/safestylesheet.js b/src/http/static/viz/2/goog/html/safestylesheet.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/safestylesheet.js rename to src/http/static/viz/2/goog/html/safestylesheet.js diff --git a/srv/src/http/static/viz/2/goog/html/safeurl.js b/src/http/static/viz/2/goog/html/safeurl.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/safeurl.js rename to src/http/static/viz/2/goog/html/safeurl.js diff --git a/srv/src/http/static/viz/2/goog/html/trustedresourceurl.js b/src/http/static/viz/2/goog/html/trustedresourceurl.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/trustedresourceurl.js rename to src/http/static/viz/2/goog/html/trustedresourceurl.js diff --git a/srv/src/http/static/viz/2/goog/html/uncheckedconversions.js b/src/http/static/viz/2/goog/html/uncheckedconversions.js similarity index 100% rename from srv/src/http/static/viz/2/goog/html/uncheckedconversions.js rename to src/http/static/viz/2/goog/html/uncheckedconversions.js diff --git a/srv/src/http/static/viz/2/goog/i18n/bidi.js b/src/http/static/viz/2/goog/i18n/bidi.js similarity index 100% rename from srv/src/http/static/viz/2/goog/i18n/bidi.js rename to src/http/static/viz/2/goog/i18n/bidi.js diff --git a/srv/src/http/static/viz/2/goog/iter/iter.js b/src/http/static/viz/2/goog/iter/iter.js similarity index 100% rename from srv/src/http/static/viz/2/goog/iter/iter.js rename to src/http/static/viz/2/goog/iter/iter.js diff --git a/srv/src/http/static/viz/2/goog/labs/useragent/browser.js b/src/http/static/viz/2/goog/labs/useragent/browser.js similarity index 100% rename from srv/src/http/static/viz/2/goog/labs/useragent/browser.js rename to src/http/static/viz/2/goog/labs/useragent/browser.js diff --git a/srv/src/http/static/viz/2/goog/labs/useragent/engine.js b/src/http/static/viz/2/goog/labs/useragent/engine.js similarity index 100% rename from srv/src/http/static/viz/2/goog/labs/useragent/engine.js rename to src/http/static/viz/2/goog/labs/useragent/engine.js diff --git a/srv/src/http/static/viz/2/goog/labs/useragent/platform.js b/src/http/static/viz/2/goog/labs/useragent/platform.js similarity index 100% rename from srv/src/http/static/viz/2/goog/labs/useragent/platform.js rename to src/http/static/viz/2/goog/labs/useragent/platform.js diff --git a/srv/src/http/static/viz/2/goog/labs/useragent/util.js b/src/http/static/viz/2/goog/labs/useragent/util.js similarity index 100% rename from srv/src/http/static/viz/2/goog/labs/useragent/util.js rename to src/http/static/viz/2/goog/labs/useragent/util.js diff --git a/srv/src/http/static/viz/2/goog/math/coordinate.js b/src/http/static/viz/2/goog/math/coordinate.js similarity index 100% rename from srv/src/http/static/viz/2/goog/math/coordinate.js rename to src/http/static/viz/2/goog/math/coordinate.js diff --git a/srv/src/http/static/viz/2/goog/math/integer.js b/src/http/static/viz/2/goog/math/integer.js similarity index 100% rename from srv/src/http/static/viz/2/goog/math/integer.js rename to src/http/static/viz/2/goog/math/integer.js diff --git a/srv/src/http/static/viz/2/goog/math/long.js b/src/http/static/viz/2/goog/math/long.js similarity index 100% rename from srv/src/http/static/viz/2/goog/math/long.js rename to src/http/static/viz/2/goog/math/long.js diff --git a/srv/src/http/static/viz/2/goog/math/math.js b/src/http/static/viz/2/goog/math/math.js similarity index 100% rename from srv/src/http/static/viz/2/goog/math/math.js rename to src/http/static/viz/2/goog/math/math.js diff --git a/srv/src/http/static/viz/2/goog/math/size.js b/src/http/static/viz/2/goog/math/size.js similarity index 100% rename from srv/src/http/static/viz/2/goog/math/size.js rename to src/http/static/viz/2/goog/math/size.js diff --git a/srv/src/http/static/viz/2/goog/object/object.js b/src/http/static/viz/2/goog/object/object.js similarity index 100% rename from srv/src/http/static/viz/2/goog/object/object.js rename to src/http/static/viz/2/goog/object/object.js diff --git a/srv/src/http/static/viz/2/goog/reflect/reflect.js b/src/http/static/viz/2/goog/reflect/reflect.js similarity index 100% rename from srv/src/http/static/viz/2/goog/reflect/reflect.js rename to src/http/static/viz/2/goog/reflect/reflect.js diff --git a/srv/src/http/static/viz/2/goog/string/const.js b/src/http/static/viz/2/goog/string/const.js similarity index 100% rename from srv/src/http/static/viz/2/goog/string/const.js rename to src/http/static/viz/2/goog/string/const.js diff --git a/srv/src/http/static/viz/2/goog/string/string.js b/src/http/static/viz/2/goog/string/string.js similarity index 100% rename from srv/src/http/static/viz/2/goog/string/string.js rename to src/http/static/viz/2/goog/string/string.js diff --git a/srv/src/http/static/viz/2/goog/string/stringbuffer.js b/src/http/static/viz/2/goog/string/stringbuffer.js similarity index 100% rename from srv/src/http/static/viz/2/goog/string/stringbuffer.js rename to src/http/static/viz/2/goog/string/stringbuffer.js diff --git a/srv/src/http/static/viz/2/goog/string/stringformat.js b/src/http/static/viz/2/goog/string/stringformat.js similarity index 100% rename from srv/src/http/static/viz/2/goog/string/stringformat.js rename to src/http/static/viz/2/goog/string/stringformat.js diff --git a/srv/src/http/static/viz/2/goog/string/typedstring.js b/src/http/static/viz/2/goog/string/typedstring.js similarity index 100% rename from srv/src/http/static/viz/2/goog/string/typedstring.js rename to src/http/static/viz/2/goog/string/typedstring.js diff --git a/srv/src/http/static/viz/2/goog/structs/map.js b/src/http/static/viz/2/goog/structs/map.js similarity index 100% rename from srv/src/http/static/viz/2/goog/structs/map.js rename to src/http/static/viz/2/goog/structs/map.js diff --git a/srv/src/http/static/viz/2/goog/structs/structs.js b/src/http/static/viz/2/goog/structs/structs.js similarity index 100% rename from srv/src/http/static/viz/2/goog/structs/structs.js rename to src/http/static/viz/2/goog/structs/structs.js diff --git a/srv/src/http/static/viz/2/goog/uri/uri.js b/src/http/static/viz/2/goog/uri/uri.js similarity index 100% rename from srv/src/http/static/viz/2/goog/uri/uri.js rename to src/http/static/viz/2/goog/uri/uri.js diff --git a/srv/src/http/static/viz/2/goog/uri/utils.js b/src/http/static/viz/2/goog/uri/utils.js similarity index 100% rename from srv/src/http/static/viz/2/goog/uri/utils.js rename to src/http/static/viz/2/goog/uri/utils.js diff --git a/srv/src/http/static/viz/2/goog/useragent/useragent.js b/src/http/static/viz/2/goog/useragent/useragent.js similarity index 100% rename from srv/src/http/static/viz/2/goog/useragent/useragent.js rename to src/http/static/viz/2/goog/useragent/useragent.js diff --git a/srv/src/http/static/viz/2/process/env.cljs b/src/http/static/viz/2/process/env.cljs similarity index 100% rename from srv/src/http/static/viz/2/process/env.cljs rename to src/http/static/viz/2/process/env.cljs diff --git a/srv/src/http/static/viz/2/process/env.cljs.cache.json b/src/http/static/viz/2/process/env.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/process/env.cljs.cache.json rename to src/http/static/viz/2/process/env.cljs.cache.json diff --git a/srv/src/http/static/viz/2/process/env.js b/src/http/static/viz/2/process/env.js similarity index 100% rename from srv/src/http/static/viz/2/process/env.js rename to src/http/static/viz/2/process/env.js diff --git a/srv/src/http/static/viz/2/process/env.js.map b/src/http/static/viz/2/process/env.js.map similarity index 100% rename from srv/src/http/static/viz/2/process/env.js.map rename to src/http/static/viz/2/process/env.js.map diff --git a/srv/src/http/static/viz/2/processing.js b/src/http/static/viz/2/processing.js similarity index 100% rename from srv/src/http/static/viz/2/processing.js rename to src/http/static/viz/2/processing.js diff --git a/srv/src/http/static/viz/2/quil/core.cljc b/src/http/static/viz/2/quil/core.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/core.cljc rename to src/http/static/viz/2/quil/core.cljc diff --git a/srv/src/http/static/viz/2/quil/core.cljc.cache.json b/src/http/static/viz/2/quil/core.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/core.cljc.cache.json rename to src/http/static/viz/2/quil/core.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/core.js b/src/http/static/viz/2/quil/core.js similarity index 100% rename from srv/src/http/static/viz/2/quil/core.js rename to src/http/static/viz/2/quil/core.js diff --git a/srv/src/http/static/viz/2/quil/core.js.map b/src/http/static/viz/2/quil/core.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/core.js.map rename to src/http/static/viz/2/quil/core.js.map diff --git a/srv/src/http/static/viz/2/quil/middleware.cljc b/src/http/static/viz/2/quil/middleware.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/middleware.cljc rename to src/http/static/viz/2/quil/middleware.cljc diff --git a/srv/src/http/static/viz/2/quil/middleware.cljc.cache.json b/src/http/static/viz/2/quil/middleware.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/middleware.cljc.cache.json rename to src/http/static/viz/2/quil/middleware.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/middleware.js b/src/http/static/viz/2/quil/middleware.js similarity index 100% rename from srv/src/http/static/viz/2/quil/middleware.js rename to src/http/static/viz/2/quil/middleware.js diff --git a/srv/src/http/static/viz/2/quil/middleware.js.map b/src/http/static/viz/2/quil/middleware.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/middleware.js.map rename to src/http/static/viz/2/quil/middleware.js.map diff --git a/srv/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc b/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc rename to src/http/static/viz/2/quil/middlewares/deprecated_options.cljc diff --git a/srv/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc.cache.json b/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/deprecated_options.cljc.cache.json rename to src/http/static/viz/2/quil/middlewares/deprecated_options.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/middlewares/deprecated_options.js b/src/http/static/viz/2/quil/middlewares/deprecated_options.js similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/deprecated_options.js rename to src/http/static/viz/2/quil/middlewares/deprecated_options.js diff --git a/srv/src/http/static/viz/2/quil/middlewares/deprecated_options.js.map b/src/http/static/viz/2/quil/middlewares/deprecated_options.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/deprecated_options.js.map rename to src/http/static/viz/2/quil/middlewares/deprecated_options.js.map diff --git a/srv/src/http/static/viz/2/quil/middlewares/fun_mode.cljc b/src/http/static/viz/2/quil/middlewares/fun_mode.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/fun_mode.cljc rename to src/http/static/viz/2/quil/middlewares/fun_mode.cljc diff --git a/srv/src/http/static/viz/2/quil/middlewares/fun_mode.cljc.cache.json b/src/http/static/viz/2/quil/middlewares/fun_mode.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/fun_mode.cljc.cache.json rename to src/http/static/viz/2/quil/middlewares/fun_mode.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/middlewares/fun_mode.js b/src/http/static/viz/2/quil/middlewares/fun_mode.js similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/fun_mode.js rename to src/http/static/viz/2/quil/middlewares/fun_mode.js diff --git a/srv/src/http/static/viz/2/quil/middlewares/fun_mode.js.map b/src/http/static/viz/2/quil/middlewares/fun_mode.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/fun_mode.js.map rename to src/http/static/viz/2/quil/middlewares/fun_mode.js.map diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc b/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc rename to src/http/static/viz/2/quil/middlewares/navigation_2d.cljc diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc.cache.json b/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_2d.cljc.cache.json rename to src/http/static/viz/2/quil/middlewares/navigation_2d.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_2d.js b/src/http/static/viz/2/quil/middlewares/navigation_2d.js similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_2d.js rename to src/http/static/viz/2/quil/middlewares/navigation_2d.js diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_2d.js.map b/src/http/static/viz/2/quil/middlewares/navigation_2d.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_2d.js.map rename to src/http/static/viz/2/quil/middlewares/navigation_2d.js.map diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc b/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc rename to src/http/static/viz/2/quil/middlewares/navigation_3d.cljc diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc.cache.json b/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_3d.cljc.cache.json rename to src/http/static/viz/2/quil/middlewares/navigation_3d.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_3d.js b/src/http/static/viz/2/quil/middlewares/navigation_3d.js similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_3d.js rename to src/http/static/viz/2/quil/middlewares/navigation_3d.js diff --git a/srv/src/http/static/viz/2/quil/middlewares/navigation_3d.js.map b/src/http/static/viz/2/quil/middlewares/navigation_3d.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/middlewares/navigation_3d.js.map rename to src/http/static/viz/2/quil/middlewares/navigation_3d.js.map diff --git a/srv/src/http/static/viz/2/quil/sketch.cljs b/src/http/static/viz/2/quil/sketch.cljs similarity index 100% rename from srv/src/http/static/viz/2/quil/sketch.cljs rename to src/http/static/viz/2/quil/sketch.cljs diff --git a/srv/src/http/static/viz/2/quil/sketch.cljs.cache.json b/src/http/static/viz/2/quil/sketch.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/sketch.cljs.cache.json rename to src/http/static/viz/2/quil/sketch.cljs.cache.json diff --git a/srv/src/http/static/viz/2/quil/sketch.js b/src/http/static/viz/2/quil/sketch.js similarity index 100% rename from srv/src/http/static/viz/2/quil/sketch.js rename to src/http/static/viz/2/quil/sketch.js diff --git a/srv/src/http/static/viz/2/quil/sketch.js.map b/src/http/static/viz/2/quil/sketch.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/sketch.js.map rename to src/http/static/viz/2/quil/sketch.js.map diff --git a/srv/src/http/static/viz/2/quil/util.cljc b/src/http/static/viz/2/quil/util.cljc similarity index 100% rename from srv/src/http/static/viz/2/quil/util.cljc rename to src/http/static/viz/2/quil/util.cljc diff --git a/srv/src/http/static/viz/2/quil/util.cljc.cache.json b/src/http/static/viz/2/quil/util.cljc.cache.json similarity index 100% rename from srv/src/http/static/viz/2/quil/util.cljc.cache.json rename to src/http/static/viz/2/quil/util.cljc.cache.json diff --git a/srv/src/http/static/viz/2/quil/util.js b/src/http/static/viz/2/quil/util.js similarity index 100% rename from srv/src/http/static/viz/2/quil/util.js rename to src/http/static/viz/2/quil/util.js diff --git a/srv/src/http/static/viz/2/quil/util.js.map b/src/http/static/viz/2/quil/util.js.map similarity index 100% rename from srv/src/http/static/viz/2/quil/util.js.map rename to src/http/static/viz/2/quil/util.js.map diff --git a/srv/src/http/static/viz/2/viz/core.cljs b/src/http/static/viz/2/viz/core.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/core.cljs rename to src/http/static/viz/2/viz/core.cljs diff --git a/srv/src/http/static/viz/2/viz/core.cljs.cache.json b/src/http/static/viz/2/viz/core.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/core.cljs.cache.json rename to src/http/static/viz/2/viz/core.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/core.js b/src/http/static/viz/2/viz/core.js similarity index 100% rename from srv/src/http/static/viz/2/viz/core.js rename to src/http/static/viz/2/viz/core.js diff --git a/srv/src/http/static/viz/2/viz/core.js.map b/src/http/static/viz/2/viz/core.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/core.js.map rename to src/http/static/viz/2/viz/core.js.map diff --git a/srv/src/http/static/viz/2/viz/debug.cljs b/src/http/static/viz/2/viz/debug.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/debug.cljs rename to src/http/static/viz/2/viz/debug.cljs diff --git a/srv/src/http/static/viz/2/viz/debug.cljs.cache.json b/src/http/static/viz/2/viz/debug.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/debug.cljs.cache.json rename to src/http/static/viz/2/viz/debug.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/debug.js b/src/http/static/viz/2/viz/debug.js similarity index 100% rename from srv/src/http/static/viz/2/viz/debug.js rename to src/http/static/viz/2/viz/debug.js diff --git a/srv/src/http/static/viz/2/viz/debug.js.map b/src/http/static/viz/2/viz/debug.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/debug.js.map rename to src/http/static/viz/2/viz/debug.js.map diff --git a/srv/src/http/static/viz/2/viz/dial.cljs b/src/http/static/viz/2/viz/dial.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/dial.cljs rename to src/http/static/viz/2/viz/dial.cljs diff --git a/srv/src/http/static/viz/2/viz/dial.cljs.cache.json b/src/http/static/viz/2/viz/dial.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/dial.cljs.cache.json rename to src/http/static/viz/2/viz/dial.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/dial.js b/src/http/static/viz/2/viz/dial.js similarity index 100% rename from srv/src/http/static/viz/2/viz/dial.js rename to src/http/static/viz/2/viz/dial.js diff --git a/srv/src/http/static/viz/2/viz/dial.js.map b/src/http/static/viz/2/viz/dial.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/dial.js.map rename to src/http/static/viz/2/viz/dial.js.map diff --git a/srv/src/http/static/viz/2/viz/forest.cljs b/src/http/static/viz/2/viz/forest.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/forest.cljs rename to src/http/static/viz/2/viz/forest.cljs diff --git a/srv/src/http/static/viz/2/viz/forest.cljs.cache.json b/src/http/static/viz/2/viz/forest.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/forest.cljs.cache.json rename to src/http/static/viz/2/viz/forest.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/forest.js b/src/http/static/viz/2/viz/forest.js similarity index 100% rename from srv/src/http/static/viz/2/viz/forest.js rename to src/http/static/viz/2/viz/forest.js diff --git a/srv/src/http/static/viz/2/viz/forest.js.map b/src/http/static/viz/2/viz/forest.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/forest.js.map rename to src/http/static/viz/2/viz/forest.js.map diff --git a/srv/src/http/static/viz/2/viz/ghost.cljs b/src/http/static/viz/2/viz/ghost.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/ghost.cljs rename to src/http/static/viz/2/viz/ghost.cljs diff --git a/srv/src/http/static/viz/2/viz/ghost.cljs.cache.json b/src/http/static/viz/2/viz/ghost.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/ghost.cljs.cache.json rename to src/http/static/viz/2/viz/ghost.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/ghost.js b/src/http/static/viz/2/viz/ghost.js similarity index 100% rename from srv/src/http/static/viz/2/viz/ghost.js rename to src/http/static/viz/2/viz/ghost.js diff --git a/srv/src/http/static/viz/2/viz/ghost.js.map b/src/http/static/viz/2/viz/ghost.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/ghost.js.map rename to src/http/static/viz/2/viz/ghost.js.map diff --git a/srv/src/http/static/viz/2/viz/grid.cljs b/src/http/static/viz/2/viz/grid.cljs similarity index 100% rename from srv/src/http/static/viz/2/viz/grid.cljs rename to src/http/static/viz/2/viz/grid.cljs diff --git a/srv/src/http/static/viz/2/viz/grid.cljs.cache.json b/src/http/static/viz/2/viz/grid.cljs.cache.json similarity index 100% rename from srv/src/http/static/viz/2/viz/grid.cljs.cache.json rename to src/http/static/viz/2/viz/grid.cljs.cache.json diff --git a/srv/src/http/static/viz/2/viz/grid.js b/src/http/static/viz/2/viz/grid.js similarity index 100% rename from srv/src/http/static/viz/2/viz/grid.js rename to src/http/static/viz/2/viz/grid.js diff --git a/srv/src/http/static/viz/2/viz/grid.js.map b/src/http/static/viz/2/viz/grid.js.map similarity index 100% rename from srv/src/http/static/viz/2/viz/grid.js.map rename to src/http/static/viz/2/viz/grid.js.map diff --git a/srv/src/http/static/wtfpl.txt b/src/http/static/wtfpl.txt similarity index 100% rename from srv/src/http/static/wtfpl.txt rename to src/http/static/wtfpl.txt diff --git a/srv/src/http/tpl.go b/src/http/tpl.go similarity index 100% rename from srv/src/http/tpl.go rename to src/http/tpl.go diff --git a/srv/src/http/tpl/admin.html b/src/http/tpl/admin.html similarity index 100% rename from srv/src/http/tpl/admin.html rename to src/http/tpl/admin.html diff --git a/srv/src/http/tpl/assets.html b/src/http/tpl/assets.html similarity index 100% rename from srv/src/http/tpl/assets.html rename to src/http/tpl/assets.html diff --git a/srv/src/http/tpl/base.html b/src/http/tpl/base.html similarity index 100% rename from srv/src/http/tpl/base.html rename to src/http/tpl/base.html diff --git a/srv/src/http/tpl/draft-posts.html b/src/http/tpl/draft-posts.html similarity index 100% rename from srv/src/http/tpl/draft-posts.html rename to src/http/tpl/draft-posts.html diff --git a/srv/src/http/tpl/edit-post.html b/src/http/tpl/edit-post.html similarity index 100% rename from srv/src/http/tpl/edit-post.html rename to src/http/tpl/edit-post.html diff --git a/srv/src/http/tpl/finalize.html b/src/http/tpl/finalize.html similarity index 100% rename from srv/src/http/tpl/finalize.html rename to src/http/tpl/finalize.html diff --git a/srv/src/http/tpl/follow.html b/src/http/tpl/follow.html similarity index 100% rename from srv/src/http/tpl/follow.html rename to src/http/tpl/follow.html diff --git a/srv/src/http/tpl/image.html b/src/http/tpl/image.html similarity index 100% rename from srv/src/http/tpl/image.html rename to src/http/tpl/image.html diff --git a/srv/src/http/tpl/index.html b/src/http/tpl/index.html similarity index 100% rename from srv/src/http/tpl/index.html rename to src/http/tpl/index.html diff --git a/srv/src/http/tpl/post.html b/src/http/tpl/post.html similarity index 100% rename from srv/src/http/tpl/post.html rename to src/http/tpl/post.html diff --git a/srv/src/http/tpl/posts.html b/src/http/tpl/posts.html similarity index 100% rename from srv/src/http/tpl/posts.html rename to src/http/tpl/posts.html diff --git a/srv/src/http/tpl/redirect.html b/src/http/tpl/redirect.html similarity index 100% rename from srv/src/http/tpl/redirect.html rename to src/http/tpl/redirect.html diff --git a/srv/src/http/tpl/unsubscribe.html b/src/http/tpl/unsubscribe.html similarity index 100% rename from srv/src/http/tpl/unsubscribe.html rename to src/http/tpl/unsubscribe.html diff --git a/srv/src/mailinglist/mailer.go b/src/mailinglist/mailer.go similarity index 100% rename from srv/src/mailinglist/mailer.go rename to src/mailinglist/mailer.go diff --git a/srv/src/mailinglist/mailinglist.go b/src/mailinglist/mailinglist.go similarity index 100% rename from srv/src/mailinglist/mailinglist.go rename to src/mailinglist/mailinglist.go diff --git a/srv/src/mailinglist/store.go b/src/mailinglist/store.go similarity index 100% rename from srv/src/mailinglist/store.go rename to src/mailinglist/store.go diff --git a/srv/src/mailinglist/store_test.go b/src/mailinglist/store_test.go similarity index 100% rename from srv/src/mailinglist/store_test.go rename to src/mailinglist/store_test.go diff --git a/srv/src/post/asset.go b/src/post/asset.go similarity index 100% rename from srv/src/post/asset.go rename to src/post/asset.go diff --git a/srv/src/post/asset_test.go b/src/post/asset_test.go similarity index 100% rename from srv/src/post/asset_test.go rename to src/post/asset_test.go diff --git a/srv/src/post/draft_post.go b/src/post/draft_post.go similarity index 100% rename from srv/src/post/draft_post.go rename to src/post/draft_post.go diff --git a/srv/src/post/draft_post_test.go b/src/post/draft_post_test.go similarity index 100% rename from srv/src/post/draft_post_test.go rename to src/post/draft_post_test.go diff --git a/srv/src/post/post.go b/src/post/post.go similarity index 100% rename from srv/src/post/post.go rename to src/post/post.go diff --git a/srv/src/post/post_test.go b/src/post/post_test.go similarity index 100% rename from srv/src/post/post_test.go rename to src/post/post_test.go diff --git a/srv/src/post/sql.go b/src/post/sql.go similarity index 100% rename from srv/src/post/sql.go rename to src/post/sql.go diff --git a/srv/src/pow/pow.go b/src/pow/pow.go similarity index 100% rename from srv/src/pow/pow.go rename to src/pow/pow.go diff --git a/srv/src/pow/pow_test.go b/src/pow/pow_test.go similarity index 100% rename from srv/src/pow/pow_test.go rename to src/pow/pow_test.go diff --git a/srv/src/pow/store.go b/src/pow/store.go similarity index 100% rename from srv/src/pow/store.go rename to src/pow/store.go diff --git a/srv/src/pow/store_test.go b/src/pow/store_test.go similarity index 100% rename from srv/src/pow/store_test.go rename to src/pow/store_test.go diff --git a/srv/default.nix b/srv/default.nix deleted file mode 100644 index e6216b3..0000000 --- a/srv/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - bash, - go, - buildGoModule, - sqlite, - writeScript, - writeText, - stdenv, - - config, -}: rec { - - init = writeText "mediocre-blog-srv-init" '' - - export MEDIOCRE_BLOG_DATA_DIR="${config.dataDir}" - - # mailing list - export MEDIOCRE_BLOG_ML_SMTP_ADDR="${config.mlSMTPAddr}" - export MEDIOCRE_BLOG_ML_SMTP_AUTH="${config.mlSMTPAuth}" - export MEDIOCRE_BLOG_ML_PUBLIC_URL="${config.publicURL}" - - # pow - export MEDIOCRE_BLOG_POW_SECRET="${config.powSecret}" - - # http - export MEDIOCRE_BLOG_HTTP_PUBLIC_URL="${config.publicURL}" - export MEDIOCRE_BLOG_HTTP_LISTEN_PROTO="${config.httpListenProto}" - export MEDIOCRE_BLOG_HTTP_LISTEN_ADDR="${config.httpListenAddr}" - export MEDIOCRE_BLOG_HTTP_AUTH_USERS='${builtins.toJSON config.httpAuthUsers}' - export MEDIOCRE_BLOG_HTTP_AUTH_RATELIMIT='${config.httpAuthRatelimit}' - ''; - - build = buildGoModule { - pname = "mediocre-blog-srv"; - version = "dev"; - src = ./src; - vendorSha256 = "sha256:1vazrrg8rs9n8x40c9r53h9qnyxw59xkp0aq7jl15fliigk6q0cr"; - - # disable tests - checkPhase = ''''; - }; - - bin = writeScript "mediocre-blog-srv-bin" '' - #!${bash}/bin/bash - source ${init} - exec ${build}/bin/mediocre-blog "$@" - ''; - - shell = stdenv.mkDerivation { - name = "mediocre-blog-srv-shell"; - buildInputs = [ go sqlite ]; - shellHook = '' - source ${init} - - echo "Loading test data..." - (cd srv/src/cmd/load-test-data && go run main.go) - ''; - }; -} diff --git a/srv-dev-env.sh b/tmp-dev-env.sh similarity index 76% rename from srv-dev-env.sh rename to tmp-dev-env.sh index d41a96d..d95cc7b 100644 --- a/srv-dev-env.sh +++ b/tmp-dev-env.sh @@ -1,3 +1,4 @@ +set -e test_dir="$(mktemp -d)" trap "rm -rf $test_dir" EXIT @@ -10,6 +11,4 @@ test_cfg="(import ./config.nix) // { dataDir=\"${test_dir}/data\"; }" -nix-shell -A srv.shell \ - --arg config "$test_cfg" \ - "$@" +nix-shell -A shell --arg config "$test_cfg" "$@"