@kairotic/spectral 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -2
- package/dist/index.mjs +16 -0
- package/dist/shift.mjs +169 -0
- package/package.json +38 -4
- package/src/shift.cljs +178 -0
package/README.md
CHANGED
|
@@ -1,3 +1,41 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @kairotic/spectral
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
*Part of [Kairotic](https://github.com/bonuoq/kairotic) · [the official packages](../README.md)*
|
|
4
|
+
|
|
5
|
+
Components that work on the spectrum of a sound.
|
|
6
|
+
|
|
7
|
+
| Class | What it does |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `shift~ [factor …]` | pitch shifting in real time: the signal transposed by every factor at once (one interval or a whole chord), with the formants kept if asked, one frame (1024 samples) late |
|
|
10
|
+
|
|
11
|
+
```clojure
|
|
12
|
+
(box :b1 "adc~ 1" 40 30)
|
|
13
|
+
(box :b2 "shift~ 1 5/4 3/2" 40 100) ; a just major triad over what comes in
|
|
14
|
+
(box :b3 "dac~ 1 2" 40 170)
|
|
15
|
+
(connect :b1 0 :b2 0) (connect :b2 0 :b3 0) (connect :b2 0 :b3 1)
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
A factor is a ratio (`1.5`, `3/2`), semitones with a sign (`+7`, `-12`, `+0`) or cents (`386c`). Messages:
|
|
19
|
+
a list of factors (the chord) · `[:semitones 0 4 7]` · `[:cents 0 386 702]` · `[:transpose st]` (every
|
|
20
|
+
factor at once: a glide without retyping the chord) · `[:formants q]` / `[:formants q t]` (a lifter of
|
|
21
|
+
`q` ms keeps the formants, 1 is a good start for a voice; `t` shifts them) · `[:rms 1]` · `[:dry x]`.
|
|
22
|
+
|
|
23
|
+
## Inside
|
|
24
|
+
|
|
25
|
+
The shifting is [stftPitchShift](https://github.com/jurihock/stftPitchShift) 2.0 by Jürgen Hock (C++,
|
|
26
|
+
MIT), compiled to WebAssembly with wasi-sdk ([native/](native/README.md)). The WebAssembly travels in
|
|
27
|
+
`dist/shift.mjs` (about 115 KB), not in the source of the component, so it does not weigh on the history
|
|
28
|
+
of a work: `shift~` loads it from npm, at the version of the package, the first time it sounds, or the
|
|
29
|
+
page's own copy (`kairotic/packages/spectral/shift.mjs`), and hands it to its AudioWorklet as bytes. With a
|
|
30
|
+
three-note chord and the formants kept it takes about 5% of a core. Studies 28 (offline, a buffer with
|
|
31
|
+
its recipe) and 29 (real time) tried it first.
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
node packages/spectral/native/build.mjs # the WebAssembly → assets/shift.mjs (and the two studies)
|
|
35
|
+
node packages/build.mjs spectral # the package → dist/ (assets/ copied as they are)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Planned: an offline `shift` that writes a new buffer with its recipe beside it (Study 28), once the API
|
|
39
|
+
lets a package keep sounds.
|
|
40
|
+
|
|
41
|
+
Licence: the components MPL-2.0 (`shift~` itself MIT, as the library it is made with).
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Generated by packages/build.mjs
|
|
2
|
+
export default {
|
|
3
|
+
"package": "@kairotic/spectral",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"api": 1,
|
|
6
|
+
"author": "bonuoq",
|
|
7
|
+
"license": "MPL-2.0",
|
|
8
|
+
"components": [
|
|
9
|
+
{
|
|
10
|
+
"class": "shift~",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"doc": "Pitch shifting in real time: the signal on the inlet, transposed by every factor written after it at once (one interval, or a chord), one frame late (1024 samples). A factor is a ratio (1.5 or 3/2), semitones with a sign (+7, -12, +0 for the unison) or cents (386c). A list of them changes the chord; [:semitones 0 4 7] and [:cents 0 386 702] write it in those units; [:transpose st] moves every factor by st semitones, without retyping the chord (a glide); [:formants q] keeps the formants with a lifter of q ms (1 is a good start for a voice, 0 off), [:formants q t] also shifts them by t; [:rms 1] keeps the loudness; [:dry x] mixes x (0…1) of the input in. Made with stftPitchShift 2.0 by Jürgen Hock (MIT); the library warns that the formants are kept less well with several factors and with small ones.",
|
|
13
|
+
"source": ";; shift~ · pitch shifting in real time, one interval or a whole chord, with the formants kept\n;; Part of @kairotic/spectral. Written against the Kairotic API (api/…), with its AudioWorklet inside.\n;; The shifting is stftPitchShift 2.0 by Jürgen Hock (https://github.com/jurihock/stftPitchShift, MIT),\n;; compiled to WebAssembly (packages/spectral/native). The WebAssembly is not in this source, so it does\n;; not weigh on the history of a work: it is the module dist/shift.mjs of this same version of the\n;; package, loaded the first time a shift~ sounds, and handed to the worklet as bytes.\n(let [;; ── the WebAssembly: this version of the package on npm, or the page's own copy ──\n origins [\"npm:@kairotic/spectral@0.1.0/dist/shift.mjs\" \"kairotic/packages/spectral/shift.mjs\"]\n frame 1024\n hop 128\n\n ;; ── the worklet ──\n ;; The library's own STFT, one frame at a time: every block in, as many out, one frame late (1024\n ;; samples, some 21 ms at 48 kHz). The factors, the transposition, the formants and the dry mix change\n ;; between frames, without a click.\n worklet \"class KairoticShift extends AudioWorkletProcessor {\n constructor(o) {\n super();\n const p = (o && o.processorOptions) || {};\n this.frame = p.frame || 1024; this.hop = p.hop || 128;\n this.chord = [1]; this.semis = 0; this.form = [0, 1, 0]; this.dryMix = 0;\n this.X = null; this.h = 0; this.vin = null; this.vout = null;\n this.port.onmessage = (e) => this.message(e.data);\n const nosys = () => 52;\n const imports = { wasi_snapshot_preview1: { fd_close: nosys, fd_seek: nosys, fd_write: nosys, proc_exit: () => {} } };\n WebAssembly.instantiate(p.wasm, imports).then((r) => {\n const X = r.instance.exports;\n if (X._initialize) X._initialize();\n this.h = X.ks_stream_new(sampleRate, this.frame, this.hop);\n if (!this.h) throw new Error('shift~: the frame must be a power of 2 and the hop must divide it');\n this.pIn = X.ks_alloc(16384); this.pOut = X.ks_alloc(16384); this.pF = X.ks_alloc(128);\n this.X = X; this.apply();\n this.port.postMessage({ ready: true, latency: X.ks_stream_latency(this.h) });\n }).catch((err) => this.port.postMessage({ error: String((err && err.message) || err) }));\n }\n message(m) {\n if (m.factors) this.chord = m.factors;\n if (typeof m.transpose === 'number') this.semis = m.transpose;\n if (m.formants) this.form = m.formants;\n if (typeof m.dry === 'number') this.dryMix = m.dry;\n this.apply();\n }\n apply() {\n const X = this.X; if (!X) return;\n const g = Math.pow(2, this.semis / 12), fs = this.chord.slice(0, 16).map((f) => f * g);\n new Float64Array(X.memory.buffer, this.pF, fs.length).set(fs);\n X.ks_stream_factors(this.h, fs.length, this.pF);\n X.ks_stream_formants(this.h, this.form[0] / 1000, this.form[1], this.form[2] ? 1 : 0);\n X.ks_stream_dry(this.h, this.dryMix);\n }\n views() {\n const X = this.X;\n if (!this.vin || this.vin.buffer !== X.memory.buffer) {\n this.vin = new Float32Array(X.memory.buffer, this.pIn, 4096);\n this.vout = new Float32Array(X.memory.buffer, this.pOut, 4096);\n }\n }\n process(inputs, outputs) {\n const inp = inputs[0], out = outputs[0], X = this.X;\n if (!out || !out.length) return true;\n const n = out[0].length;\n if (!X) { for (const c of out) c.fill(0); return true; }\n for (let o = 0; o < n; o += 4096) {\n this.views();\n const k = Math.min(4096, n - o);\n // the input as one channel\n for (let i = 0; i < k; i++) {\n let s = 0;\n if (inp) for (let c = 0; c < inp.length; c++) s += inp[c][o + i];\n this.vin[i] = inp && inp.length > 1 ? s / inp.length : s;\n }\n X.ks_stream_process(this.h, this.pIn, this.pOut, k);\n // (the memory of the WebAssembly may have grown during the call: its views are made again)\n this.views();\n for (const c of out) c.set(this.vout.subarray(0, k), o);\n }\n return true;\n }\n}\nregisterProcessor('kairotic-shift', KairoticShift);\n\"\n\n ;; ── factors, read as music ──\n ;; a number is a ratio (1.5); a word is a ratio (3/2), semitones with a sign (+7, -12, +3.86, +0) or\n ;; cents (386c, -50c). Words arrive as keywords: their whole text, slash included, is (subs (str k) 1).\n factor (fn [x]\n (let [ok (fn [f] (when (and (number? f) (js/isFinite f) (pos? f) (<= f 8)) f))]\n (cond\n (number? x) (ok x)\n (or (keyword? x) (string? x))\n (let [s (if (keyword? x) (subs (str x) 1) x)]\n (cond\n (re-matches #\"\\d+(\\.\\d+)?/\\d+(\\.\\d+)?\" s)\n (let [[a b] (map js/parseFloat (.split s \"/\"))] (when (pos? b) (ok (/ a b))))\n (re-matches #\"[+-]\\d+(\\.\\d+)?\" s) (ok (js/Math.pow 2 (/ (js/parseFloat s) 12)))\n (re-matches #\"[+-]?\\d+(\\.\\d+)?c\" s) (ok (js/Math.pow 2 (/ (js/parseFloat s) 1200)))\n :else nil))\n :else nil)))\n ;; a chord from a list of factors: nil if any of them is not one, or there are none or more than 16\n chord (fn [xs]\n (let [fs (map factor xs)]\n (when (and (seq xs) (<= (count xs) 16) (every? some? fs)) (vec fs))))\n from-semitones (fn [xs] (when (and (seq xs) (every? number? xs))\n (chord (map (fn [s] (js/Math.pow 2 (/ s 12))) xs))))\n from-cents (fn [xs] (when (and (seq xs) (every? number? xs))\n (chord (map (fn [c] (js/Math.pow 2 (/ c 1200))) xs))))\n written (fn [args] (or (chord args) [1]))\n\n ;; what the box keeps: the chord, the transposition, the formants [quefrency-ms timbre rms], the dry mix\n settings (fn [args state]\n (merge {:factors (written args) :transpose 0 :formants [0 1 false] :dry 0}\n (select-keys state [:factors :transpose :formants :dry])))\n send! (fn [node]\n (when-let [w @(:w node)]\n (let [{:keys [factors transpose formants dry]} @(:settings node)]\n (.postMessage (.-port w) (clj->js {:factors factors :transpose transpose :formants formants :dry dry})))))\n put (fn [state args k v]\n (let [s (assoc (settings args state) k v)]\n {:state s :effects [[:settings s]]}))]\n {;; ── about ──\n :class \"shift~\"\n :license \"MIT\"\n :doc \"Pitch shifting in real time: the signal on the inlet, transposed by every factor written after it at once (one interval, or a chord), one frame late (1024 samples). A factor is a ratio (1.5 or 3/2), semitones with a sign (+7, -12, +0 for the unison) or cents (386c). A list of them changes the chord; [:semitones 0 4 7] and [:cents 0 386 702] write it in those units; [:transpose st] moves every factor by st semitones, without retyping the chord (a glide); [:formants q] keeps the formants with a lifter of q ms (1 is a good start for a voice, 0 off), [:formants q t] also shifts them by t; [:rms 1] keeps the loudness; [:dry x] mixes x (0…1) of the input in. Made with stftPitchShift 2.0 by Jürgen Hock (MIT); the library warns that the formants are kept less well with several factors and with small ones.\"\n :usage \"shift~ [factor …]\"\n :io [1 1]\n\n ;; ── logic ──\n :receive (fn [{:keys [value state args]}]\n (let [s (settings args state)\n head (when (vector? value) (first value))\n more (when (vector? value) (vec (rest value)))\n nums (fn [xs] (filterv number? xs))]\n ;; (the same value again sets what is already set: nothing that is going on changes)\n (cond\n (= head :transpose) (if-let [t (api/num-of more)] (put s args :transpose (api/clamp t -48 48)) {:state s})\n (= head :semitones) (if-let [c (from-semitones more)] (put s args :factors c) {:state s})\n (= head :cents) (if-let [c (from-cents more)] (put s args :factors c) {:state s})\n (= head :formants) (let [[q t] (nums more)]\n (put s args :formants\n [(api/clamp (or q 0) 0 20) (api/clamp (or t 1) 0.25 4) (nth (:formants s) 2)]))\n (= head :rms) (put s args :formants\n (assoc (:formants s) 2 (boolean (#{1 true :on} (first more)))))\n (= head :dry) (if-let [d (api/num-of more)] (put s args :dry (api/clamp d 0 1)) {:state s})\n :else (if-let [c (chord (if (vector? value) value [value]))]\n (put s args :factors c)\n {:state s}))))\n\n ;; ── audio ──\n :audio {:create (fn [ac b _]\n (let [in (.createGain ac) out (.createGain ac)\n node {:in in :out out :w (atom nil) :alive (atom true)\n :settings (atom (settings (:args b) (:state b)))\n :inlets [[in 0]] :outlets [[out 0]]}]\n (-> (api/import-module origins)\n (.then (fn [S]\n (api/worklet-node ac \"kairotic-shift\" worklet\n {:numberOfInputs 1 :numberOfOutputs 1 :outputChannelCount [1]\n :processorOptions {:frame frame :hop hop :wasm (.wasmBytes S)}})))\n (.then (fn [w]\n (set! (.. w -port -onmessage)\n (fn [e] (when-let [err (.. e -data -error)] (js/console.error \"shift~\" err))))\n (if @(:alive node)\n (do (.connect in w) (.connect w out) (reset! (:w node) w) (send! node))\n (try (.disconnect w) (catch :default _ nil)))))\n (.catch (fn [e] (js/console.error \"shift~\" e))))\n node))\n :effects {:settings (fn [node s _] (reset! (:settings node) s) (send! node))}\n ;; a new text: its chord, without rebuilding the node (what came by messages besides the chord stays)\n :update (fn [node b _] (swap! (:settings node) assoc :factors (written (:args b))) (send! node))\n :dispose (fn [node]\n (reset! (:alive node) false)\n (when-let [w @(:w node)] (try (.disconnect w) (catch :default _ nil))))}\n\n ;; ── help ──\n :help {:inlets [\"a signal to shift; a number or a list of factors (1.5 · 1 5/4 3/2 · +7 · 386c) is the chord; [:semitones …] [:cents …]; [:transpose st]; [:formants q t]; [:rms 1]; [:dry x]\"]\n :outlets [\"the shifted signal, every factor at once, one frame (1024 samples) late\"]\n :example \"(box :b1 \\\"adc~ 1\\\" 40 30)\\n(box :b2 \\\"shift~ 1 5/4 3/2\\\" 40 150)\\n(box :b3 \\\"dac~ 1 2\\\" 40 210)\\n(box :b4 \\\"msg 1 6/5 3/2\\\" 160 30)\\n(box :b5 \\\"msg transpose -5\\\" 160 70)\\n(box :b6 \\\"msg formants 1\\\" 300 30)\\n(box :b7 \\\"msg 1/2 +7\\\" 300 70)\\n(connect :b1 0 :b2 0)\\n(connect :b4 0 :b2 0)\\n(connect :b5 0 :b2 0)\\n(connect :b6 0 :b2 0)\\n(connect :b7 0 :b2 0)\\n(connect :b2 0 :b3 0)\\n(connect :b2 0 :b3 1)\"\n :try \"Press ▶ and sing or play into the microphone: a major triad answers. Press the messages while it sounds: a minor triad, the whole chord a fourth down, the formants kept (a voice stops sounding small or big), an octave below and a fifth above. Use headphones.\"}})\n"
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
};
|
package/dist/shift.mjs
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// Generated by packages/spectral/native/build.mjs from glue.mjs and shift.cpp — do not edit by hand.
|
|
2
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
3
|
+
// Kairotic · shift (the JavaScript around the WebAssembly of stftPitchShift)
|
|
4
|
+
// stftPitchShift by Jürgen Hock, MIT licence: https://github.com/jurihock/stftPitchShift
|
|
5
|
+
//
|
|
6
|
+
// No Emscripten glue and no fetch: the WebAssembly travels inside this module (base64), so the same file
|
|
7
|
+
// works in a page, in a worker and, later, in an AudioWorklet, from jsDelivr or from the page's own folder.
|
|
8
|
+
//
|
|
9
|
+
// await ready() compiles it (once)
|
|
10
|
+
// shift(chans, sr, opts) → {chans, ms} every channel (Float32Array) shifted, as long as before
|
|
11
|
+
// stream(sr, frame, hop) → {process, factors…} the same, block by block, for real time
|
|
12
|
+
//
|
|
13
|
+
// opts.steps [[seconds [factor …]] …] factors that change over time (a progression); or
|
|
14
|
+
// opts.factors [factor …] the same factors all the time (default [1])
|
|
15
|
+
// opts.quefrency ms of the formant lifter 0 = no formant preservation (1 is a good start for voice)
|
|
16
|
+
// opts.timbre the timbre (formant) factor 1 = unchanged; works only with quefrency > 0
|
|
17
|
+
// opts.frame STFT frame, a power of 2 1024
|
|
18
|
+
// opts.overlap frame / hop 32 (the library's default; 8 is faster, rougher)
|
|
19
|
+
// opts.rms spectral RMS normalization false
|
|
20
|
+
|
|
21
|
+
const WASM_BASE64 = "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IAAgATYC5AEgASAAKALoASABaxD/gICAAAsCQCAAKALIASIBRQ0AIAAgATYCzAEgASAAKALQASABaxD/gICAAAsCQCAAKAK8ASIBRQ0AIAAgATYCwAEgASAAKALEASABaxD/gICAAAsCQCAAKAKcASIBRQ0AIAEgASgCBCICQX9qNgIEIAINACABIAEoAgAoAggRgICAgACAgICAACABEOaAgIAACwJAIAAoAogBIgNFDQAgAyEBAkAgACgCjAEiAiADRg0AIAJBdGohAQNAAkAgASgCACICRQ0AIAFBBGogAjYCACACIAFBCGooAgAgAmsQ/4CAgAALIAEgA0chAiABQXRqIQEgAg0ACyAAKAKIASEBCyAAIAM2AowBIAEgACgCkAEgAWsQ/4CAgAALAkAgACgCfCIBRQ0AIAAgATYCgAEgASAAKAKEASABaxD/gICAAAsCQCAAKAJwIgFFDQAgACABNgJ0IAEgACgCeCABaxD/gICAAAsCQCAAKAJIIgFFDQAgACABNgJMIAEgACgCUCABaxD/gICAAAsCQCAAKAI8IgFFDQAgACABNgJAIAEgACgCRCABaxD/gICAAAsCQCAAKAIwIgFFDQAgACABNgI0IAEgACgCOCABaxD/gICAAAsCQCAAKAIEIgFFDQAgASABKAIEIgJBf2o2AgQgAg0AIAEgASgCACgCCBGAgICAAICAgIAAIAEQ5oCAgAALIAALQwECfwJAIAAoAgQiAUUNACABIAEoAgQiAkF/ajYCBCACDQAgASABKAIAKAIIEYCAgIAAgICAgAAgARDmgICAAAsgAAsPAEGsiICAABCpgICAAAALDwBBrIiAgAAQqYCAgAAACxEAQamMgIAAQQAQ6ICAgAAACw8AQayIgIAAEKmAgIAAAAvBAwQDfwJ8An8BfCAAQgA3AxAgAEEwakEANgIAIABBKGoiBEIANwMAIABBIGoiBUIANwMAIABBGGpCADcDACAAIAMgASgCACIGuCIHozkDACAARAAAAAAAAPC/EIiBgIAAIgMgA6AiCCACuKIgB6M5AwggAEEQaiAGQQF2IglBAWoiAhDSgICAAAJAAkAgBSgCACAAKAIcIgprQQN1IgUgCUsNACAAQRxqIAIgBWsQ0oCAgAAMAQsgAiAFTw0AIAAgCiACQQN0ajYCIAsCQAJAIAAoAiwgACgCKCIKa0EDdSIFIAlLDQAgBCACIAVrENKAgIAADAELIAIgBU8NACAAIAogAkEDdGo2AiwLAkAgASgCBCIBIAZGDQAgBCgCACEEIAK4IQcgAbghC0EAIQECQCAGQQJJDQAgCUEBakF+cSEJQQAhAUQAAAAAAAAAACEDIAQhAgNAIAIgCCADoiALoiAHozkDACACQQhqIAggAUEBariiIAuiIAejOQMAIAJBEGohAiADRAAAAAAAAABAoCEDIAkgAUECaiIBRw0ACwsgBkECcQ0AIAQgAUEDdGogCCABuKIgC6IgB6M5AwALIAALoQIBBH8gACABKAIANgIAIAAgASgCBCIBNgIEAkAgAUUNACABIAEoAgRBAWo2AgQLIABBADYCLCAAQgA3AiQgACADOQMQIAAgAjYCCAJAIAJB/v///wNPDQAgACACQQJ0IgRBeHFBCGoiBRD9gICAACIGNgIkIAAgBiAFaiIHNgIsIAZBACAFEMCBgIAAGiAAQQA2AjggAEIANwMwIAAgBzYCKAJAIAJFDQAgACAEEP2AgIAAIgI2AjAgACACIARqIgU2AjggAkEAIAQQwIGAgAAaIAAgBTYCNAsCQCABRQ0AIAEgASgCBCICQX9qNgIEIAINACABIAEoAgAoAggRgICAgACAgICAACABEOaAgIAACyAADwsgAEEkahDFgICAAAAL6AIBA38CQCAAKAIIIgQgACgCACIFayIGQQJ1IANJDQACQCAAKAIEIgQgBWsiBkECdSADTw0AIAEgBmohAwJAIAQgBUYNACAFIAEgBhC/gYCAABogACgCBCEECyACIANrIQUCQCACIANGDQAgBCADIAUQv4GAgAAaCyAAIAQgBWo2AgQPCyACIAFrIQMCQCACIAFGDQAgBSABIAMQv4GAgAAaCyAAIAUgA2o2AgQPCwJAIAVFDQAgACAFNgIEIAUgBhD/gICAAEEAIQQgAEEANgIIIABCADcCAAsCQCADQYCAgIAETw0AIARBAXUiBSADIAUgA0sbQf////8DIARB/P///wdJGyIDQYCAgIAETw0AIAAgA0ECdCIFEP2AgIAAIgM2AgQgACADNgIAIAAgAyAFajYCCCACIAFrIQUCQCACIAFGDQAgAyABIAUQvoGAgAAaCyAAIAMgBWo2AgQPCyAAEJaAgIAAAAvuBwMJfwF9BH8jgICA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ACABNgI0IAEgACgCOCABaxD/gICAAAsCQCAAKAIkIgFFDQAgACABNgIoIAEgACgCLCABaxD/gICAAAsCQCAAKAIYIgFFDQAgACABNgIcIAEgACgCICABaxD/gICAAAsgACgCFCEBIABBADYCFAJAIAFFDQAgARCQgICAAEHMABD/gICAAAsgACgCECEBIABBADYCEAJAIAFFDQAgARCRgICAAEH4ARD/gICAAAsCQCAAKAIMIgFFDQAgASABKAIEIgJBf2o2AgQgAg0AIAEgASgCACgCCBGAgICAAICAgIAAIAEQ5oCAgAALIAALEQACQCAADQBBAA8LIAAoAgAL2gICBH8BfiOAgICAAEEQayIDJICAgIAAQXohBAJAIABFDQAgAUFvakFwSQ0AIAMgAUEDdCIFEP2AgIAAIgQ2AgQgAyAEIAVqIgY2AgwgBCACIAUQvoGAgAAaIAMgBjYCCAJAAkAgAUUNAAJAA0AgBCkDACIHQn98Qv////////8HVCAHQv///////////wCDQoCAgICAgIB4fEKAgICAgICA8P8AVCAHQn9VcXJFDQEgBEEIaiEEIAVBeGoiBUUNAgwACwtBeSEEDAELIAAoAhAiBUHYAGogA0EEahCfgICAAAJAIAUoAjQgBSgCMCIEayIBQQFIDQAgBEEAIAEQwIGAgAAaC0EAIQQgBSgCQCAFKAI8IgVrIgFBAUgNACAFQQAgARDAgYCAABoLIAMoAgQiBUUNACADIAU2AgggBSADKAIMIAVrEP+AgIAACyADQRBqJICAgIAAIAQLrwIBAX9BfCEEAkAgAEUNACABRAAAAAAAAAAAZkUNACACRAAAAAAAAAAAZEUNACAAKAIQIgQgATkDsAEgBCACOQPYAQJAAkAgBCsDqAEgAaIiAUQAAAAAAADwQWMgAUQAAAAAAAAAAGZxRQ0AIAGrIQAMAQtBACEACyAEIAA2ArgBAkACQCADRQ0AQRAQ/YCAgAAiA0HElICAADYCACADQgA3AgQgBCADQQxqNgLsASAEKALwASEAIAQgAzYC8AFBACEEIABFDQIgACAAKAIEIgNBf2o2AgQgA0UNAQwCCyAEKALwASEAIARCADcC7AFBACEEIABFDQEgACAAKAIEIgNBf2o2AgQgAw0BCyAAIAAoAgAoAggRgICAgACAgICAACAAEOaAgIAAQQAhBAsgBAuxBwMKfwF9BX8jgICAgABBMGsiBCSAgICAAAJAIANBAUgNACAAQTBqIQUgACgCACAAKAIEIgZrQQJ0IQcgACgCQCEIIAZBAUghCUEAIQoDQCAAKAIYIAdqIAhBAnRqIAEgCkECdGogBiAIayIIIAMgCmsiCyAIIAtIGyIMQQJ0EL6BgIAAGiAAIAAoAkAgDGoiCDYCQCAIIAZIDQEgBCAANgIQIAQgACgCJCIINgIgIAQgACgCKCAIa0ECdTYCJCAEIAAoAhgiCDYCKCAEIAAoAhwgCGtBAnU2AiwgBEHQlYCAADYCHCAEQYKAgIAANgIYIAAoAhQhCCAEIAQpAiA3AwAgBCAEKQIoNwMIIAggBEEIaiAEIARBEGoQj4CAgAACQCAEKAIcKAIEIghFDQAgBCgCECAIEYCAgIAAgICAgAALAkAgCQ0AIAAoAjQhCEEAIQsgBiENAkACQANAIAAqAkQgACgCGCALaioCAJQgACgCJCALaioCAJIhDgJAAkAgCCAAKAI4Ig9PDQAgCCAOOAIAIAhBBGohCAwBCyAIIAUoAgAiEGsiEUECdSISQQFqIghBgICAgARPDQICQAJAIA8gEGsiE0EBdSIPIAggDyAISxtB/////wMgE0H8////B0kbIggNAEEAIQ8MAQsgCEGAgICABE8NBCAIQQJ0EP2AgIAAIQ8LIA8gEkECdGoiEiAOOAIAIAAgDyAQIBEQvoGAgAAiDyAIQQJ0ajYCOCAAIBJBBGoiCDYCNCAAIA82AjAgEEUNACAQIBMQ/4CAgAALIAAgCDYCNCALQQRqIQsgDUF/aiINDQAMAwsLIAUQloCAgAAACxCVgICAAAALIAwgCmohCiAAKAIkIgggCCAGQQJ0IgtqIAcQv4GAgAAaAkAgACgCKCAAKAIkIAdqIghrIhBBAUgNACAIQQAgEBDAgYCAABoLIAAoAhgiCCAIIAtqIAcQv4GAgAAaQQAhCCAAQQA2AkAgCiADSA0ACwsgAiAAKAIwIgggACgCPCILQQJ0aiAAKAI0IAhrQQJ1IAtrIgggAyAIIANJGyILQQJ0IhAQvoGAgAAhDQJAIAggA08NACANIBBqQQAgAyALa0ECdBDAgYCAABoLIAAgACgCPCALaiIINgI8AkAgCEGBIEkNACAAKAI0Ig0gACgCMCILIAhBAnRqIghrIRACQCANIAhGDQAgCyAIIBAQv4GAgAAaCyAAQQA2AjwgACALIBBqNgI0CyAEQTBqJICAgIAAC0wCAX8BfiOAgICAAEEQayICJICAgIAAIAAoAgBBEGooAgAhACACIAEpAgAiAzcDACACIAM3AwggACACENyAgIAAIAJBEGokgICAgAALEgACQCAARQ0AIAAgAbY4AkQLCysBAX8jgICAgABBEGsiASSAgICAACABIAA2AgBB/o6AgAAgARDogICAAAALFQAgAEH8kICAADYCACAAEOWAgIAACx0AIABB/JCAgAA2AgAgABDlgICAAEEoEP+AgIAACxsAIABBDGogACgCDCgCABGDgICAAICAgIAAGgsMACAAQSgQ/4CAgAALLwAgAEHwkYCAADYCACAAQRBqIAAoAhQQr4CAgAAgAEEEaiAAKAIIELCAgIAAIAALbQEBfwJAIAFFDQAgACABKAIAEK+AgIAAIAAgASgCBBCvgICAAAJAIAEoAhgiAEUNACAAIAAoAgQiAkF/ajYCBCACDQAgACAAKAIAKAIIEYCAgIAAgICAgAAgABDmgICAAAsgAUEcEP+AgIAACwttAQF/AkAgAUUNACAAIAEoAgAQsICAgAAgACABKAIEELCAgIAAAkAgASgCGCIARQ0AIAAgACgCBCICQX9qNgIEIAINACAAIAAoAgAoAggRgICAgACAgICAACAAEOaAgIAACyABQRwQ/4CAgAALCzcAIABB8JGAgAA2AgAgAEEQaiAAKAIUEK+AgIAAIABBBGogACgCCBCwgICAACAAQRwQ/4CAgAALWgIBfwJ+I4CAgIAAQSBrIgMkgICAgAAgAyABKQIAIgQ3AxggAyACKQIAIgU3AwAgAyAENwMIIAMgBTcDECAAQQRqIANBCGogAxCzgICAACADQSBqJICAgIAAC6kDAgR/AX0jgICAgABBEGsiAySAgICAAAJAIAIoAgQgASgCBCIEQQF2QQFqRw0AIANBCGogACAEELqAgIAAIAMoAgghAAJAIAMoAgwiBEUNACAEIAQoAgQiBUF/ajYCBCAFDQAgBCAEKAIAKAIIEYCAgIAAgICAgAAgBBDmgICAAAsgACgCOCEEIAAoAiwhBiACKAIAIQUgASgCACAAKAIIIgEgACgCFCAAKAIgIAAoAgQiABC7gICAACABIAUgBiAEIAAQvICAgAACQCAARQ0AQwAAgD8gALOVIQcgAEEBcSEGQQAhAQJAIABBAUYNACAAQX5xIQRBACEBIAUhAANAIAAgByAAKgIAlDgCACAAQQRqIgIgByACKgIAlDgCACAAQQhqIgIgByACKgIAlDgCACAAQQxqIgIgByACKgIAlDgCACAAQRBqIQAgBCABQQJqIgFHDQALCyAGRQ0AIAUgAUEDdGoiACAHIAAqAgCUOAIAIAAgByAAKgIElDgCBAsgA0EQaiSAgICAAA8LQciNgIAAQcGLgIAAQfwAQZ6IgIAAEIeBgIAAAAtaAgF/An4jgICAgABBIGsiAySAgICAACADIAEpAgAiBDcDGCADIAIpAgAiBTcDACADIAQ3AwggAyAFNwMQIABBEGogA0EIaiADELWAgIAAIANBIGokgICAgAALrQMCBH8BfCOAgICAAEEQayIDJICAgIAAAkAgAigCBCABKAIEIgRBAXZBAWpHDQAgA0EIaiAAIAQQx4CAgAAgAygCCCEAAkAgAygCDCIERQ0AIAQgBCgCBCIFQX9qNgIEIAUNACAEIAQoAgAoAggRgICAgACAgICAACAEEOaAgIAACyAAKAI4IQQgACgCLCEGIAIoAgAhBSABKAIAIAAoAggiASAAKAIUIAAoAiAgACgCBCIAEMiAgIAAIAEgBSAGIAQgABDJgICAAAJAIABFDQBEAAAAAAAA8D8gALijIQcgAEEBcSEGQQAhAQJAIABBAUYNACAAQX5xIQRBACEBIAUhAANAIAAgByAAKwMAojkDACAAQQhqIgIgByACKwMAojkDACAAQRBqIgIgByACKwMAojkDACAAQRhqIgIgByACKwMAojkDACAAQSBqIQAgBCABQQJqIgFHDQALCyAGRQ0AIAUgAUEEdGoiACAHIAArAwCiOQMAIAAgByAAKwMIojkDCAsgA0EQaiSAgICAAA8LQciNgIAAQcGLgIAAQfwAQZ6IgIAAEIeBgIAAAAtaAgF/An4jgICAgABBIGsiAySAgICAACADIAEpAgAiBDcDGCADIAIpAgAiBTcDACADIAQ3AwggAyAFNwMQIABBBGogA0EIaiADELeAgIAAIANBIGokgICAgAAL8AEBA38jgICAgABBEGsiAySAgICAAAJAIAEoAgQgAigCBCIEQQF2QQFqRw0AIANBCGogACAEELqA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FQAgAEHElICAADYCACAAEOWAgIAACx0AIABBxJSAgAA2AgAgABDlgICAAEEQEP+AgIAACwIACwwAIABBEBD/gICAAAvoAgEDfwJAIAAoAggiBCAAKAIAIgVrIgZBA3UgA0kNAAJAIAAoAgQiBCAFayIGQQN1IANPDQAgASAGaiEDAkAgBCAFRg0AIAUgASAGEL+BgIAAGiAAKAIEIQQLIAIgA2shBQJAIAIgA0YNACAEIAMgBRC/gYCAABoLIAAgBCAFajYCBA8LIAIgAWshAwJAIAIgAUYNACAFIAEgAxC/gYCAABoLIAAgBSADajYCBA8LAkAgBUUNACAAIAU2AgQgBSAGEP+AgIAAQQAhBCAAQQA2AgggAEIANwIACwJAIANBgICAgAJPDQAgBEECdSIFIAMgBSADSxtB/////wEgBEH4////B0kbIgNBgICAgAJPDQAgACADQQN0IgUQ/YCAgAAiAzYCBCAAIAM2AgAgACADIAVqNgIIIAIgAWshBQJAIAIgAUYNACADIAEgBRC+gYCAABoLIAAgAyAFajYCBA8LIAAQlICAgAAAC7oFAQl/AkAgACgCCCICIAAoAgQiA2tBA3UgAUkNAAJAIAFFDQAgAUEDdCEEIAFBf2pB/////wFxIQUgAyECAkAgAUEHcSIBRQ0AIAMhAgNAIAJCgICAgICAgPg/NwMAIAJBCGohAiABQX9qIgENAAsLIAMgBGohAyAFQQdJDQADQCACQoCAgICAgID4PzcDOCACQoCAgICAgID4PzcDMCACQoCAgICAgID4PzcDKCACQoCAgICAgID4PzcDICACQoCAgICAgID4PzcDGCACQoCAgICAgID4PzcDECACQoCAgICAgID4PzcDCCACQoCAgICAgID4PzcDACACQcAAaiICIANHDQALCyAAIAM2AgQPCwJAAkAgAyAAKAIAIgRrIgZBA3UiByABaiIDQYCAgIACTw0AAkACQCACIARrIghBAnUiAiADIAIgA0sbQf////8BIAhB+P///wdJGyIDDQBBACEFDAELIANBgICAgAJPDQIgA0EDdBD9gICAACEFCyABQQN0IQkgAUF/akH/////AXEhCiAFIAdBA3RqIgchAgJAIAFBB3EiAUUNACAHIQIDQCACQoCAgICAgID4PzcDACACQQhqIQIgAUF/aiIBDQALCyAH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AkAgBEQAAAAAAADwP2RFDQAgAyAGTg0DIANBAUgNASADQQFqIQAgA0F/aiEGIANBA3QgAigCAGpBeGohCSABKAIAIQgDQAJAAkAgByAAQX5qs5QiC48iDItDAAAAT11FDQAgDKghAQwBC0GAgICAeCEBCwJAIAFBAEgNACAGIAFMDQAgCSALIAGzkyILIAggAUEDdGoiASkCCCINp76UQwAAgD8gC5MiDCABKQIAIg6nvpSSOAIAIAlBBGogCyANQiCIp76UIAwgDkIgiKe+lJI4AgALIAlBeGohCSAAQX9qIgBBAUsNAAwCCwsgA0UNACABKAIAIgEgAigCACIARg0AIAAgASADQQN0EL+BgIAAGgsPC0H0jYCAAEHxiYCAAEHlAEG6iICAABCHgYCAAAALQf6IgIAAQfGJgIAAQZEBQbqIgIAAEIeBgIAAAAtBhImAgABB8YmAgABBgwFBuoiAgAAQh4GAgAAAC1gBAX9BKBD9gICAACIBQSBqIABBIGopAgA3AgAgAUEYaiAAQRhqKQIANwIAIAFBEGogAEEQaikCADcCACABQQhqIABBCGopAgA3AgAgASAAKQIANwIAIAELDAAgAEEoEP+AgIAACwQAIAALMAEBfwJAIAAoAggiAQ0AIAAgACgCACgCEBGAgICAAICAgIAADwsgACABQX9qNgIICwQAQQALNwEBfyOAgICAAEEQayICJICAgIAAIAIgATYCDCOCgICAACgCACAAIAEQuYGAgAAaEIWBgIAAAAteAQJ/I4CAgIAAQRBrIgIkgICAgAAjgYCAgABBwI+AgABqQQtBASOCgICAACgCACIDEKeBgIAAGiACIAE2AgwgAyAAIAEQuYGAgAAaQQogAxClgYCAABoQhYGAgAAACwQAIAALCgAgABDqgICAAAsCAAsCAAsSACAAEOqAgIAAQQgQ/4CAgAALEgAgABDqgICAAEEMEP+AgIAACxIAIAAQ6oCAgABBGBD/gICAAAvSAgEDfyOAgICAAEHQAGsiAySAgICAAAJAAkACQCAAKAIEIAEoAgRHDQBBASEEDAELQQAhBCODgICAACEFIAEjhICAgAAgBUEAEPKAgIAAIgFFDQAgAigCACIERQ0BIANBIGoiBUIANwIAIANByABqQgA3AgAgA0HAAGpCADcCACADQThqQgA3AgAgA0EwakIANwIAIANBKGpCADcCACAFQX82AgAgA0IANwIYIANBAToASyADQQE2AkQgAyABNgIUIAMgADYCHCABIANBFGogBEEBIAEoAgAoAhwRhICAgACAgICAAAJAIAMoAiwiAUEBRw0AIAIgAygCJDYCAAsgAUEBRiEECyADQdAAaiSAgICAACAEDwsgA0HlAzYCBCADI4GAgIAAIgFBpI2AgABqNgIIIAMgAUHBiICAAGo2AgAgAUGiiICAAGogAxDpgICAAAALmgUBBX8jgICAgABBwABrIgQkgICAgAAgACAAKAIAIgVBeGooAgAiBmohBwJAAkAgBUF8aigCACIIKAIEIAIoAgRHDQBBACEFAkAgA0EASA0AIAdBAEEAIANrIAZGGyEFDAILIANBfkYNASAEQRxqIgVCADcCACAEQSRqQgA3AgAgBEEsakIANwIAIARCADcCFCAEQQA2AjwgBEKBgICAgICAgAE3AjQgBCADNgIQIAQgATYCDCAEIAA2AgggBCACNgIEIAIgBEEEaiAHIAdBAUEAIAIoAgAoAhQRhYCAgACAgICAACAHQQAgBSgCAEEBRhshBQwBCwJAIANBAEgNACAAIANrIgUgB0gNACAEQSxqQgA3AgAgBEEkakIANwIAIARBHGoiBkIANwIAIARCADcCFCAEQQA2AjwgBEKBgICAgICAgAE3AjQgBCADNgIQIAQgAjYCDCAEIAU2AgggBCAINgIEIAggBEEEaiAHIAdBAUEAIAgoAgAoAhQRhYCAgACAgICAACAGKAIADQELIARBM2pCADcAACAEQSxqQgA3AgAgBEEkakIANwIAIARBHGpCADcCACAEQgA3AhQgBEEANgI8IARBAToAOyAEIAM2AhAgBCABNgIMIAQgADYCCCAEIAI2AgQgCCAEQQRqIAdBAUEAIAgoAgAoAhgRhoCAgACAgICAAEEAIQUCQAJAIAQoAigOAgABAgsgBCgCGEEAIAQoAiRBAUYbQQAgBCgCIEEBRhtBACAEKAIsQQFGGyEFDAELAkAgBCgCHEEBRg0AAkAgBCgCLEUNAEEAIQUMAgsCQCAEKAIgQQFGDQBBACEFDAILQQAhBSAEKAIkQQFHDQELIAQoAhQhBQsgBEHAAGokgICAgAAgBQuFAQACQCAAKAIEIAEoAggoAgRHDQACQCABKAIkIgANACABIAM2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GyEGCyACQX9KDQJDAACAPyAGlQ8LQQAhBQJAIARBf0oNACACQRd2Qf8BcSIEQf8ASQ0DAkACQCAEQZYBSw0AQQFBlgEgBGt0IgRBf2ogAnENBUGAgAQhBSAEIAJxDQELQQAhBQsgALxB/////wdxIQQLIARB////A0sNACAAQwAAAEuUvEH/////B3FBgICApH9qIQQLAkBBACsD2MSAgAAgBCAEQYCAtIZ8aiIDQYCAgHxxa767IANBD3ZB8AFxIgRB2MKAgABqKwMAokQAAAAAAADwv6AiB6JBACsD4MSAgACgIAcgB6IiCCAIoqJBACsD6MSAgAAgB6JBACsD8MSAgACgIAiiQQArA/jEgIAAIAeiIARB4MKAgABqKwMAIANBF3W3oKCgoCABu6IiB71CgICAgICA4P//AINCgYCAgICAwK/AAFQNAAJAIAdEcdXR////X0BkRQ0AIAUQm4GAgAAPCyAHRAAAAAAAwGLAZUUNACAFEJyBgIAADwtBACsDmMKAgAAgByAHQQArA5DCgIAAIgigIgkgCKGhIgeiQQArA6DCgIAAoCAHIAeiokEAKwOowoCAACAHokQAAAAAAADwP6CgIAm9IgogBa18Qi+GIAqnQR9xQQN0QZDAgIAAaikDAHy/orYhBgsgBg8LIAAQnYGAgAALrgEAAkACQCABQYAISA0AIABEAAAAAAAA4H+iIQACQCABQf8PTw0AIAFBgXhqIQEMAgsgAEQAAAAAAADgf6IhACABQf0XIAFB/RdJG0GCcGohAQwBCyABQYF4Sg0AIABEAAAAAAAAYAOiIQACQCABQbhwTQ0AIAFByQdqIQEMAQsgAEQAAAAAAABgA6IhACABQfBoIAFB8GhLG0GSD2ohAQsgACABQf8Haq1CNIa/ogvqAQICfwF8I4CAgIAAQRBrIgEkgICAgAACQAJAIAC9QiCIp0H/////B3EiAkH7w6T/A0sNACACQYCAwPIDSQ0BIABEAAAAAAAAAABBABCPgYCAACEADAELAkAgAkGAgMD/B0kNACAAIAChIQAMAQsgACABEI6BgIAAIQIgASsDCCEAIAErAwAhAwJAAkACQAJAIAJBA3EOBAABAgMACyADIABBARCPgYCAACEADAMLIAMgABCMgYCAACEADAILIAMgAEEBEI+BgIAAmiEADAELIAMgABCMgYCAAJohAAsgAUEQaiSAgICAACAAC8oDAgN/AXwjgICAgABBEGsiASSAgICAAAJAAkAgALwiAkH/////B3EiA0Han6T6A0sNACADQYCAgMwDSQ0BIAC7EJKBgIAAIQAMAQsCQCADQdGn7YMESw0AIAC7IQQCQCADQeOX24AESw0AAkAgAkF/Sg0AIAREGC1EVPsh+T+gEJGBgIAAjCEADAMLIAREGC1EVPsh+b+gEJGBgIAAIQAMAgtEGC1EVPshCcBEGC1EVPshCUAgAkF/ShsgBKCaEJKBgIAAIQAMAQsCQCADQdXjiIcESw0AAkAgA0Hf27+FBEsNACAAuyEEAkAgAkF/Sg0AIARE0iEzf3zZEkCgEJGBgIAAIQAMAwsgBETSITN/fNkSwKAQkYGAgACMIQAMAgtEGC1EVPshGUBEGC1EVPshGcAgAkEASBsgALugEJKBgIAAIQAMAQsCQCADQYCAgPwHSQ0AIAAgAJMhAAwBCyAAIAFBCGoQk4GAgAAhAyABKwMIIQQCQAJAAkACQCADQQNxDgQAAQIDAAsgBBCSgYCAACEADAMLIAQQkYGAgAAhAAwCCyAEmhCSgYCAACEADAELIAQQkYGAgACMIQALIAFBEGokgICAgAAgAAs3AQF/I4CAgIAAQRBrIgMkgICAgAAgAyACNgIMIAAgASACELmBgIAAIQIgA0EQaiSAgICAACACC1wBAX8gACAAKAI8IgFBf2ogAXI2AjwCQCAAKAIAIgFBCHFFDQAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIoIgE2AhggACABNgIUIAAgASAAKAIsajYCEEEAC7MBAQN/I4CAgIAAQRBrIgIkgICAgAAgAiABOgAPAkACQCAAKAIQIgMNAAJAIAAQo4GAgABFDQBBfyEDDAILIAAoAhAhAwsCQCAAKAIUIgQgA0YNACAAKAJAIAFB/wFxIgNGDQAgACAEQQFqNgIUIAQgAToAAAwBCwJAIAAgAkEPakEBIAAoAiARiICAgACAgICAAEEBRg0AQX8hAwwBCyACLQAPIQMLIAJBEGokgICAgAAgAwtEAQJ/AkAgAEH/AXEiAiABKAJARg0AIAEoAhQiAyABKAIQRg0AIAEgA0EBajYCFCADIAA6AAAgAg8LIAEgAhCkgYCAAAv0AQEEfwJAAkAgAigCECIDDQBBACEEIAIQo4GAgAANASACKAIQIQMLAkAgAyACKAIUIgVrIAFPDQAgAiAAIAEgAigCIBGIgICAAICAgIAADwtBACEGAkAgAigCQEEASA0AIAFFDQAgACABaiEEQQAhAwJAA0AgBCADakF/ai0AAEEKRg0BIAEgA0F/aiIDag0AC0EAIQYMAQsgAiAAIAEgA2oiBiACKAIgEYiAgIAAgICAgAAiBCAGSQ0BIAYgAGohAEEAIANrIQEgAigCFCEFCyAFIAAgARC+gYCAABogAiACKAIUIAFqNgIUIAYgAWohBAsgBAuoAgEFfyACIAFsIQQCQAJAIAMoAhAiBQ0AQQAhBiADEKOBgIAADQEgAygCECEFCwJAIAUgAygCFCIHayAETw0AIAMgACAEIAMoAiARiICAgACAgICAACEGDAELQQAhCAJAAkAgBA0AIAQhBQwBC0EAIQUCQCADKAJAQQBODQAgBCEFDAELIAAgBGohBgJAA0AgBiAFakF/ai0AAEEKRg0BIAQgBUF/aiIFag0AC0EAIQggBCEFDAELIAMgACAEIAVqIgggAygCIBGIgICAAICAgIAAIgYgCEkNASAIIABqIQBBACAFayEFIAMoAhQhBwsgByAAIAUQvoGAgAAaIAMgAygCFCAFajYCFCAIIAVqIQYLAkAgBiAERw0AIAJBACABGw8LIAYgAW4LDwAgABCAgICAAEH//wNxCxUAIAAgASACIAMQgYCAgABB//8DcQsVACAAIAEgAiADEIKAgIAAQf//A3ELAgALJwAQq4GAgAACQCAAEKiBgIAAIgANAEEADwtBACAANgLY3ICAAEF/Cw0AIAAoAjgQrIGAgAALcQECfyOAgICAAEEQayIDJICAgIAAQX8hBAJAAkAgAkF/Sg0AQQBBHDYC2NyAgAAMAQsCQCAAIAEgAiADQQxqEKqBgIAAIgJFDQBBACACNgLY3ICAAEF/IQQMAQsgAygCDCEECyADQRBqJICAgIAAIAQLuwIBB38jgICAgABBEGsiAySAgICAACADIAI2AgwgAyABNgIIIAMgACgCGCIBNgIAIAMgACgCFCABayIENgIEQQIhBQJAAkAgACgCOCADQQIQroGAgAAiASAEIAJqIgZGDQAgAyEEA0ACQCABQX9KDQBBACEBIABBADYCGCAAQgA3AxAgACAAKAIAQSByNgIAIAVBAkYNAyACIAQoAgRrIQEMAwsgBCABIAQoAgQiB0siCEEDdGoiCSAJKAIAIAEgB0EAIAgbayIHajYCACAEQQxBBCAIG2oiBCAEKAIAIAdrNgIAIAkhBCAGIAFrIgYgACgCOCAJIAUgCGsiBRCugYCAACIBRw0ACwsgACAAKAIoIgE2AhggACABNgIUIAAgASAAKAIsajYCECACIQELIANBEGokgICAgAAgAQtkAQF/I4CAgIAAQRBrIgMkgICAgAACQAJAIAAgASACQf8BcSADQQhqEKmBgIAAIgJFDQBBAEHGACACIAJBzABGGzYC2NyAgABCfyEBDAELIAMpAwghAQsgA0EQaiSAgICAACABCxEAIAAoAjggASACELCBgIAACwQAIAALDAAgACABELKBgIAAC1UBAX8CQEEAKAL83ICAACIBDQBB5NyAgAAhAUEAQeTcgIAANgL83ICAAAtBACAAIABBzABLG0EBdEGg0YCAAGovAQBBhMWAgABqIAEoAhQQs4GAgAAL2QIBAX9BASEDAkAgAEUNAAJAIAFB/wBLDQAgACABOgAAQQEPCwJAQQAoAvzcgIAAIgMNAEHk3ICAACEDQQBB5NyAgAA2AvzcgIAACwJAAkAgAygCAA0AAkAgAUGAf3FBgL8DRg0AQQBBGTYC2NyAgAAMAgsgACABOgAAQQEPCwJAIAFB/w9LDQAgACABQT9xQYABcjoAASAAIAFBBnZBwAFyOgAAQQIPCwJAAkAgAUGAsANJDQAgAUGAQHFBgMADRw0BCyAAIAFBP3FBgAFyOgACIAAgAUEMdkHgAXI6AAAgACABQQZ2QT9xQYABcjoAAUEDDwsCQCABQYCAfGpB//8/Sw0AIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBA8LQQBBGTYC2NyAgAALQX8hAwsgAwsYAAJAIAANAEEADwsgACABQQAQtYGAgAALjwECAX4BfwJAIAC9IgJCNIinQf8PcSIDQf8PRg0AAkAgAw0AAkAgAEQAAAAAAAAAAGINACABQQA2AgAgAA8LIABEAAAAAAAA8EOiIAEQt4GAgAAhACABIAEoAgBBQGo2AgAgAA8LIAEgA0GCeGo2AgAgAkL/////////h4B/g0KAgICAgICA8D+EvyEACyAACyQBAX8gABDCgYCAACECQX9BACACIABBASACIAEQp4GAgABHGwuQAwEDfyOAgICAAEHQAWsiAySAgICAACADIAI2AswBIANBoAFqQSBqQgA3AwAgA0G4AWpCADcDACADQbABakIANwMAIANCADcDqAEgA0IANwOgASADIAI2AsgBAkACQEEAIAEgA0HIAWogA0HQAGogA0GgAWoQuoGAgABBAE4NAEF/IQAMAQsgACgCACEEAkAgACgCPEEASg0AIAAgBEFfcTYCAAsCQAJAAkACQCAAKAIsDQAgAEHQADYCLCAAQQA2AhggAEIANwMQIAAoAighBSAAIAM2AigMAQtBACEFIAAoAhANAQtBfyECIAAQo4GAgAANAQsgACABIANByAFqIANB0ABqIANBoAFqELqBgIAAIQILIARBIHEhAQJAIAVFDQAgAEEAQQAgACgCIBGIgICAAICAgIAAGiAAQQA2AiwgACAFNgIoIABBADYCGCAAKAIUIQUgAEIANwMQIAJBfyAFGyECCyAAIAAoAgAiBSABcjYCAEF/IAIgBUEgcRshAAsgA0HQAWokgICAgAAgAAuLRgcafwJ+AXwFfwF+An8BfCOAgICAAEHwBmsiBSSAgICAACADQYB9aiEGIAVBxABqQQxqIQcgBUHwAGpBfGohCCAFQTdqIQkgBUHEAGpBC2ohCiAFQdAAakF/aiELIAVB0ABqQQhyIQwgBUHQAGpBCXIhDSAFQcQAakEKaiEOIAVBOGohD0EAIRBBACERQQAhEgJAAkACQANAIAEhEyASIBFB/////wdzSg0BIBIgEWohEQJAAkACQAJAAkACQAJAAkACQCATLQAAIhJFDQAgEyEBA0ACQAJAAkAgEkH/AXEiEkUNACASQSVHDQIgASEUIAEhEgNAAkAgEi0AAUElRg0AIBIhAQwDCyAUQQFqIRQgEi0AAiEVIBJBAmoiASESIBVBJUYNAAwCCwsgASEUCyAUIBNrIhIgEUH/////B3MiFEoNDAJAIABFDQAgAC0AAEEgcQ0AIBMgEiAAEKaBgIAAGgsgEg0LIAFBAWohEkF/IRYCQCABLAABIhdBUGoiFUEJSw0AIAEtAAJBJEcNACABQQNqIRIgASwAAyEXQQEhECAVIRYLQQAhGAJAIBdBYGoiAUEfSw0AQQEgAXQiAUGJ0QRxRQ0AIBJBAWohFUEAIRgDQCABIBhyIRggFSISLAAAIhdBYGoiAUEgTw0BIBJBAWohFUEBIAF0IgFBidEEcQ0ACwsCQCAXQSpHDQACQAJAIBIsAAFBUGoiAUEJSw0AIBItAAJBJEcNACAEIAFBAnRqQQo2AgAgEkEDaiEBIAYgEiwAAUEDdGooAgAhGUEBIRAMAQsgEA0GIBJBAWohAQJAIAANAEEAIRBBACEZDAYLIAIgAigCACISQQRqNgIAIBIoAgAhGUEAIRALIBlBf0oNBEEAIBlrIRkgGEGAwAByIRgMBAtBACEZAkAgF0FQaiIVQQlNDQAgEiEBDAQLA0ACQCAZQcyZs+YASw0AQX8gGUEKbCIBIBVqIBUgAUH/////B3NLIhcbIRkgEiwAASEVIBJBAWoiASESIBVBUGoiFUEKSQ0BIBcNDgwFCyASLAABIQFBfyEZIBJBAWohEiABQVBqIhVBCkkNAAwNCwsgAS0AASESIAFBAWohAQwACwsgAA0LAkAgEA0AQQAhEQwMCwJAAkACQCAEKAIEIgENAEEBIQEMAQsgA0EIaiABIAIQu4GAgAACQCAEKAIIIgENAEECIQEMAQsgA0EQaiABIAIQu4GAgAACQCAEKAIMIgENAEEDIQEMAQsgA0EYaiABIAIQu4GAgAACQCAEKAIQIgENAEEEIQEMAQsgA0EgaiABIAIQu4GAgAACQCAEKAIUIgENAEEFIQEMAQsgA0EoaiABIAIQu4GAgAACQCAEKAIYIgENAEEGIQEMAQsgA0EwaiABIAIQu4GAgAACQCAEKAIcIgENAEEHIQEMAQsgA0E4aiABIAIQu4GAgAACQCAEKAIgIgENAEEIIQEMAQsgA0HAAGogASACELuBgIAAIAQoAiQiAQ0BQQkhAQsgAUECdCEBA0AgBCABaigCAA0DIAFBBGoiAUEoRw0AC0EBIREMDAsgA0HIAGogASACELuBgIAAQQEhEQwLC0EAIRICQAJAIAEtAABBLkYNAEF/IRdBACEaDAELAkAgASwAASIVQSpHDQACQCABLAACQVBqIhVBCUsNACABLQADQSRHDQAgBCAVQQJ0akEKNgIAIAEsAAIhFSABQQRqIQEgBiAVQQN0aigCACIXQX9KIRoMAgsgEA0CIAFBAmohAQJAIAANAEEAIRdBAEF/SiEaDAILIAIgAigCACIVQQRqNgIAIBUoAgAiF0F/SiEaDAELIAFBAWohAQJAIBVBUGoiG0EJTQ0AQQEhGkEAIRcMAQtBACEcIAEhFQNAQX8hFwJAIBxBzJmz5gBLDQBBfyAcQQpsIgEgG2ogGyABQf////8Hc0sbIRcLQQEhGiAVLAABIRsgFyEcIBVBAWoiASEVIBtBUGoiG0EKSQ0ACwsDQCASIRUgASwAACISQYV/akFGSQ0BIAFBAWohASASIBVBOmxqQf/RgIAAai0AACISQX9qQQhJDQALAkACQAJAIBJBG0YNACASRQ0DAkAgFkEASA0AIAQgFkECdGogEjYCACAFIAMgFkEDdGopAwA3AzgMAgsCQCAADQBBACERDA4LIAVBOGogEiACELuBgIAADAILIBZBf0oNAgtBACESIABFDQgLIBhB//97cSIcIBggGEGAwABxGyEdAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQX9qLAAAIhJBU3EgEiASQQ9xQQNGGyASIBUbIh5Bv39qDjgQEg0SEBAQEhISEhISEhISEhIMEhISEgMSEhISEhISEhASCAUQEBASBRISEgkBBAISEgoSABISAxILQQAhG0GAiICAACEWIAUpAzghHwwFC0EAIRICQAJAAkACQAJAAkACQCAVQf8BcQ4IAAECAwQdBQYdCyAFKAI4IBE2AgAMHAsgBSgCOCARNgIADBsLIAUoAjggEaw3AwAMGgsgBSgCOCAROwEADBkLIAUoAjggEToAAAwYCyAFKAI4IBE2AgAMFwsgBSgCOCARrDcDAAwWCyAXQQggF0EISxshFyAdQQhyIR1B+AAhHgtBACEbQYCIgIAAIRYCQCAFKQM4Ih9QRQ0AIA8hEwwECyAeQSBxIRUgDyETA0AgE0F/aiITIB+nQQ9xQZDWgIAAai0AACAVcjoAACAfQg9WIRIgH0IEiCEfIBINAAsgHUEIcUUNAyAeQQR1QYCIgIAAaiEWQQIhGwwDCyAPIRMCQCAFKQM4Ih9QDQAgDyETA0AgE0F/aiITIB+nQQdxQTByOgAAIB9CB1YhEiAfQgOIIR8gEg0ACwtBACEbQYCIgIAAIRYgHUEIcUUNAiAXIA8gE2siEkEBaiAXIBJKGyEXDAILAkAgBSkDOCIfQn9VDQAgBUIAIB99Ih83AzhBASEbQYCIgIAAIRYMAQsCQCAdQYAQcUUNAEEBIRtBgYiAgAAhFgwBC0GCiICAAEGAiICAACAdQQFxIhsbIRYLAkACQCAfQoCAgIAQWg0AIB8hICAPIRMMAQsgDyETA0AgE0F/aiITIB8gH0IKgCIgQgp+fadBMHI6AAAgH0L/////nwFWIRIgICEfIBINAAsLICBQDQAgIKchEgNAIBNBf2oiEyASIBJBCm4iFUEKbGtBMHI6AAAgEkEJSyEYIBUhEiAYDQALCyAaIBdBAEhxDREgHUH//3txIB0gGhshHAJAIAUpAzgiH0IAUg0AQQAhGCAXDQAgDyETIA8hEgwMCyAXIA8gE2sgH1BqIhIgFyASShshGCAPIRIMCwsgBSAFKQM4PAA3QQAhG0GAiICAACEWQQEhGCAJIRMgDyESDAoLQQAoAtjcgIAAELSBgIAAIRMMAQsgBSgCOCISQe2NgIAAIBIbIRMLIBMgEyAXQf////8HIBdB/////wdJGxDEgYCAACIYaiESQQAhG0GAiICAACEWIBdBf0oNByASLQAARQ0HDA0LIAUoAjghEyAXDQFBACESDAILIAVBADYCDCAFIAUpAzg+AgggBSAFQQhqNgI4IAVBCGohE0F/IRcLQQAhEiATIRQCQANAIBQoAgAiFUUNASAFQQRqIBUQtoGAgAAiFUEASA0NIBUgFyASa0sNASAUQQRqIRQgFSASaiISIBdJDQALCyASQQBIDQoLAkAgHUGAwARxIhgNACAZIBJMDQAgBUHwAGpBICAZIBJrIhRBgAIgFEGAAkkiFRsQwIGAgAAaAkAgFQ0AA0ACQCAALQAAQSBxDQAgBUHwAGpBgAIgABCmgYCAABoLIBRBgH5qIhRB/wFLDQALCyAALQAAQSBxDQAgBUHwAGogFCAAEKaBgIAAGgsCQCASRQ0AQQAhFANAIBMoAgAiFUUNASAFQQRqIBUQtoGAgAAiFSAUaiIUIBJLDQECQCAALQAAQSBxDQAgBUEEaiAVIAAQpoGAgAAaCyATQQRqIRMgFCASSQ0ACwsCQCAYQYDAAEcNACAZIBJMDQAgBUHwAGpBICAZIBJrIhRBgAIgFEGAAkkiFRsQwIGAgAAaAkAgFQ0AA0ACQCAALQAAQSBxDQAgBUHwAGpBgAIgABCmgYCAABoLIBRBgH5qIhRB/wFLDQALCyAALQAAQSBxDQAgBUHwAGogFCAAEKaBgIAAGgsgGSASIBkgEkobIRIMCAsgGiAXQQBIIhJxDQggBSsDOCEhIAVBADYCbAJAAkAgIb1Cf1UNACAhmiEhQQEhIkEAISNBioiAgAAhJAwBCwJAIB1BgBBxRQ0AQQEhIkEAISNBjYiAgAAhJAwBC0GQiICAAEGLiICAACAdQQFxIiIbISQgIkUhIwsCQCAhRAAAAAAAAPB/Yw0AICJBA2ohFAJAIB1BgMAAcQ0AIBkgFEwNACAFQfAEakEgIBkgFGsiEkGAAiASQYACSSIVGxDAgYCAABoCQCAVDQADQAJAIAAtAABBIHENACAFQfAEakGAAiAAEKaBgIAAGgsgEkGAfmoiEkH/AUsNAAsLIAAtAABBIHENACAFQfAEaiASIAAQpoGAgAAaCwJAIAAoAgAiEkEgcQ0AICQgIiAAEKaBgIAAGiAAKAIAIRILAkAgEkEgcQ0AQfqIgIAAQZyNgIAAIB5BIHEiEhtBpYyAgABBoI2AgAAgEhsgISAhYhtBAyAAEKaBgIAAGgsCQCAdQYDABHFBgMAARw0AIBkgFEwNACAFQfAEakEgIBkgFGsiEkGAAiASQYACSSIVGxDAgYCAABoCQCAVDQADQAJAIAAtAABBIHENACAFQfAEakGAAiAAEKaBgIAAGgsgEkGAfmoiEkH/AUsNAAsLIAAtAABBIHENACAFQfAEaiASIAAQpoGAgAAaCyAUIBkgFCAZShshEgwICwJAAkACQCAhIAVB7ABqELeBgIAAIiEgIaAiIUQAAAAAAAAAAGENACAFIAUoAmwiFEF/ajYCbCAeQSByIiVB4QBHDQEMCAsgHkEgciIlQeEARg0HQQYgFyASGyEaIAUoAmwhEwwBCyAFIBRBY2oiEzYCbEEGIBcgEhshGiAhRAAAAAAAALBBoiEhCyAFQfAAakEAQaACIBNBAEgiJhtqIhYhFANAAkACQCAhRAAAAAAAAPBBYyAhRAAAAAAAAAAAZnFFDQAgIashEgwBC0EAIRILIBQgEjYCACAUQQRqIRQgISASuKFEAAAAAGXNzUGiIiFEAAAAAAAAAABiDQALAkACQCATQQFODQAgFCESIBYhFQwBCyAWIRUDQCATQR0gE0EdSRshEwJAIBRBfGoiEiAVSQ0AIBOtISdCACEfA0AgEiASNQIAICeGIB9C/////w+DfCIgICBCgJTr3AOAIh9CgJTr3AN+fT4CACASQXxqIhIgFU8NAAsgIEKAlOvcA1QNACAVQXxqIhUgHz4CAAsCQANAIBQiEiAVTQ0BIBJBfGoiFCgCAEUNAAsLIAUgBSgCbCATayITNgJsIBIhFCATQQBKDQALCwJAIBNBf0oNACAaQRlqQQluQQFqISggJUHmAEYhKQNAQQAgE2siFEEJIBRBCUkbIRcCQAJAIBUgEkkNACAVKAIARUECdCEUDAELQYCU69wDIBd2IRxBfyAXdEF/cyEbQQAhEyAVIRQDQCAUIBQoAgAiGCAXdiATajYCACAYIBtxIBxsIRMgFEEEaiIUIBJJDQALIBUoAgBFQQJ0IRQgE0UNACASIBM2AgAgEkEEaiESCyAFIAUoAmwgF2oiEzYCbCAWIBUgFGoiFSApGyIUIChBAnRqIBIgEiAUa0ECdSAoShshEiATQQBIDQALC0EAIRgCQCAVIBJPDQAgFiAVa0ECdUEJbCEYIBUoAgAiE0EKSQ0AQQohFANAIBhBAWohGCATIBRBCmwiFE8NAAsLAkAgGkEAIBggJUHmAEYbayAaQQBHICVB5wBGIhtxayIUIBIgFmtBAnVBCWxBd2pODQAgBUHwAGpBhGBBpGIgJhsiJWogFEGAyABqIhNBCW0iF0ECdCImaiEcQQohFAJAIBMgF0EJbGsiF0EHSg0AQQggF2siKEEHcSETQQohFAJAIBdBf2pBB0kNACAoQXhxIRdBCiEUA0AgFEGAwtcvbCEUIBdBeGoiFw0ACwsgE0UNAANAIBRBCmwhFCATQX9qIhMNAAsLIBxBBGohKAJAAkAgHCgCACITIBMgFG4iKSAUbGsiFw0AICggEkYNAQsCQAJAIClBAXENAEQAAAAAAABAQyEhIBRBgJTr3ANHDQEgHCAVTQ0BIBxBfGotAABBAXFFDQELRAEAAAAAAEBDISELRAAAAAAAAOA/RAAAAAAAAPA/RAAAAAAAAPg/ICggEkYbRAAAAAAAAPg/IBcgFEEBdiIoRhsgFyAoSRshKgJAICMNACAkLQAAQS1HDQAgKpohKiAhmiEhCyAcIBMgF2siEzYCACAhICqgICFhDQAgHCATIBRqIhQ2AgACQCAUQYCU69wDSQ0AIAggJSAmamohFANAIBRBBGpBADYCAAJAIBQgFU8NACAVQXxqIhVBADYCAAsgFCAUKAIAQQFqIhM2AgAgFEF8aiEUIBNB/5Pr3ANLDQALIBRBBGohHAsgFiAVa0ECdUEJbCEYIBUoAgAiE0EKSQ0AQQohFANAIBhBAWohGCATIBRBCmwiFE8NAAsLIBxBBGoiFCASIBIgFEsbIRILIBIgFmshFAJAA0AgFCETIBIiHCAVTSIXDQEgE0F8aiEUIBxBfGoiEigCAEUNAAsLAkACQCAbDQAgHUEIcSEoDAELIBhBf3NBfyAaQQEgGhsiEiAYSiAYQXtKcSIUGyASaiEaQX9BfiAUGyAeaiEeIB1BCHEiKA0AQXchEgJAIBcNACAcQXxqKAIAIhdFDQBBACESIBdBCnANAEEKIRRBACESA0AgEkF/aiESIBcgFEEKbCIUcEUNAAsLIBNBAnVBCWwhFAJAIB5BX3FBxgBHDQBBACEoIBogFCASakF3aiISQQAgEkEAShsiEiAaIBJIGyEaDAELQQAhKCAaIBggFGogEmpBd2oiEkEAIBJBAEobIhIgGiASSBshGgsgGkH9////B0H+////ByAaIChyIiUbSg0IIBogJUEAR2pBAWohKQJAAkAgHkFfcUHGAEciJg0AIBggKUH/////B3NKDQogGEEAIBhBAEobIRIMAQsCQAJAIBgNACAHIRMgByEUDAELIBggGEEfdSIScyASayESIAchEyAHIRQDQCAUQX9qIhQgEiASQQpuIhdBCmxrQTByOgAAIBNBf2ohEyASQQlLIRsgFyESIBsNAAsLAkAgByATa0EBSg0AIBQgDiATa2oiFEEwIBMgBUHEAGprQXZqEMCBgIAAGgsgFEF+aiIjIB46AAAgFEF/akEtQSsgGEEASBs6AAAgByAjayISIClB/////wdzSg0JCyASIClqIhIgIkH/////B3NKDQggEiAiaiEbAkAgHUGAwARxIh0NACAZIBtMDQAgBUHwBGpBICAZIBtrIhJBgAIgEkGAAkkiFBsQwIGAgAAaAkAgFA0AA0ACQCAALQAAQSBxDQAgBUHwBGpBgAIgABCmgYCAABoLIBJBgH5qIhJB/wFLDQALCyAALQAAQSBxDQAgBUHwBGogEiAAEKaBgIAAGgsCQCAALQAAQSBxDQAgJCAiIAAQpoGAgAAaCwJAIB1BgIAERw0AIBkgG0wNACAFQfAEakEwIBkgG2siEkGAAiASQYACSSIUGxDAgYCAABoCQCAUDQADQAJAIAAtAABBIHENACAFQfAEakGAAiAAEKaBgIAAGgsgEkGAfmoiEkH/AUsNAAsLIAAtAABBIHENACAFQfAEaiASIAAQpoGAgAAaCyAmDQMgFiAVIBUgFksbIhghFwNAAkACQAJAAkAgFygCACISRQ0AQQghFANAIAVB0ABqIBRqIBIgEkEKbiIVQQpsa0EwcjoAACAUQX9qIRQgEkEJSyETIBUhEiATDQALIBRBAWoiFSAFQdAAamohEgJAIBcgGEYNACAUQQJqQQJIDQQMAwsgFEEIRw0DDAELQQkhFSAXIBhHDQELIAVBMDoAWCAMIRIMAQsgBUHQAGogCyAVaiISIAVB0ABqIBJJGyISQTAgFSAFQdAAamogEmsQwIGAgAAaCwJAIAAtAABBIHENACASIA0gEmsgABCmgYCAABoLIBdBBGoiFyAWTQ0ACwJAICVFDQAgAC0AAEEgcQ0AQeuNgIAAQQEgABCmgYCAABoLAkACQCAaQQFODQAgGiESDAELAkAgFyAcSQ0AIBohEgwBCwNAAkACQAJAIBcoAgAiEg0AIA0hFCANIRUMAQsgDSEVIA0hFANAIBRBf2oiFCASIBJBCm4iE0EKbGtBMHI6AAAgFUF/aiEVIBJBCUshGCATIRIgGA0ACyAUIAVB0ABqTQ0BCyAUIAVB0ABqaiAVayIUQTAgFSAFQdAAamsQwIGAgAAaCwJAIAAtAABBIHENACAUIBpBCSAaQQlIGyAAEKaBgIAAGgsgGkF3aiESIBdBBGoiFyAcTw0BIBpBCUohFCASIRogFA0ACwsgAEEwIBJBCWpBCUEAELyBgIAADAQLQQBBHDYC2NyAgAAMCAtBACEbQYCIgIAAIRYgDyESIB0hHCAXIRgLIBggEiATayIXIBggF0obIhogG0H/////B3NKDQUgGSAbIBpqIhUgGSAVShsiEiAUSg0FAkAgHEGAwARxIhwNACAZIBVMDQAgBUHwAGpBICASIBVrIhRBgAIgFEGAAkkiHRsQwIGAgAAaAkAgHQ0AA0ACQCAALQAAQSBxDQAgBUHwAGpBgAIgABCmgYCAABoLIBRBgH5qIhRB/wFLDQALCyAALQAAQSBxDQAgBUHwAGogFCAAEKaBgIAAGgsCQCAALQAAQSBxDQAgFiAbIAAQpoGAgAAaCwJAIBxBgIAERw0AIBkgFUwNACAFQfAAakEwIBIgFWsiFEGAAiAUQYACSSIbGxDAgYCAABoCQCAbDQADQAJAIAAtAABBIHENACAFQfAAakGAAiAAEKaBgIAAGgsgFEGAfmoiFEH/AUsNAAsLIAAtAABBIHENACAFQfAAaiAUIAAQpoGAgAAaCwJAIBggF0wNACAFQfAAakEwIBogF2siFEGAAiAUQYACSSIYGxDAgYCAABoCQCAYDQADQAJAIAAtAABBIHENACAFQfAAakGAAiAAEKaBgIAAGgsgFEGAfmoiFEH/AUsNAAsLIAAtAABBIHENACAFQfAAaiAUIAAQpoGAgAAaCwJAIAAtAABBIHENACATIBcgABCmgYCAABoLIBxBgMAARw0EIBkgFUwNBCAFQfAAakEgIBIgFWsiFEGAAiAUQYACSSIVGxDAgYCAABoCQCAVDQADQAJAIAAtAABBIHENACAFQfAAakGAAiAAEKaBgIAAGgsgFEGAfmoiFEH/AUsNAAsLIAAtAABBIHENBCAFQfAAaiAUIAAQpoGAgAAaDAQLAkAgGkEASA0AIBwgFUEEaiAcIBVLGyEcIBUhFwNAAkACQCAXKAIAIhJFDQAgDSEUA0AgFEF/aiIUIBIgEkEKbiITQQpsa0EwcjoAACASQQpJIRggEyESIBhFDQAMAgsLIAVBMDoAWCAMIRQLAkACQCAXIBVGDQAgFCAFQdAAak0NASAFQdAAakEwIBQgBUHQAGprEMCBgIAAGiAFQdAAaiEUDAELAkAgAC0AAEEgcQ0AIBRBASAAEKaBgIAAGgsgFEEBaiEUAkAgKA0AIBpBAUgNAQsgAC0AAEEgcQ0AQeuNgIAAQQEgABCmgYCAABoLIA0gFGshEgJAIAAtAABBIHENACAUIBIgGiASIBpIGyAAEKaBgIAAGgsgGiASayEaIBdBBGoiFyAcTw0BIBpBf0oNAAsLIABBMCAaQRJqQRJBABC8gYCAACAALQAAQSBxDQAgIyAHICNrIAAQpoGAgAAaCyAdQYDAAEcNASAZIBtMDQEgBUHwBGpBICAZIBtrIhJBgAIgEkGAAkkiFBsQwIGAgAAaAkAgFA0AA0ACQCAALQAAQSBxDQAgBUHwBGpBgAIgABCmgYCAABoLIBJBgH5qIhJB/wFLDQALCyAALQAAQSBxDQEgBUHwBGogEiAAEKaBgIAAGgwBCyAkIB5BGnRBH3VBCXFqIRYCQCAXQQtLDQACQAJAQQwgF2siEkEHcSIUDQBEAAAAAAAAMEAhKgwBCyAXQXRqIRJEAAAAAAAAMEAhKgNAIBJBAWohEiAqRAAAAAAAADBAoiEqIBRBf2oiFA0AC0EAIBJrIRILAkAgF0F7akEHSQ0AA0AgKkQAAAAAAAAwQKJEAAAAAAAAMECiRAAAAAAAADBAokQAAAAAAAAwQKJEAAAAAAAAMECiRAAAAAAAADBAokQAAAAAAAAwQKJEAAAAAAAAMECiISogEkF4aiISDQALCwJAIBYtAABBLUcNACAqICGaICqhoJohIQwBCyAhICqgICqhISELAkACQCAFKAJsIhhFDQAgGCAYQR91IhJzIBJrIRIgByEUA0AgFEF/aiIUIBIgEkEKbiIVQQpsa0EwcjoAACASQQpJIRMgFSESIBNFDQAMAgsLIAVBMDoATyAKIRQLICJBAnIhHCAeQSBxIRUgFEF+aiIaIB5BD2o6AAAgFEF/akEtQSsgGEEASBs6AAAgHUEIcSETIAVB0ABqIRQDQCAUIRICQAJAICGZRAAAAAAAAOBBY0UNACAhqiEUDAELQYCAgIB4IRQLIBIgFEGQ1oCAAGotAAAgFXI6AAAgISAUt6FEAAAAAAAAMECiISECQCASQQFqIhQgBUHQAGprQQFHDQACQCATDQAgF0EASg0AICFEAAAAAAAAAABhDQELIBJBLjoAASASQQJqIRQLICFEAAAAAAAAAABiDQALQf3///8HIAcgGmsiGCAcaiISayAXSA0CIBdBAmogFCAFQdAAamsiFCAUQX5qIBdIGyAUIBcbIhMgEmohGwJAIB1BgMAEcSIVDQAgGSAbTA0AIAVB8ARqQSAgGSAbayISQYACIBJBgAJJIhcbEMCBgIAAGgJAIBcNAANAAkAgAC0AAEEgcQ0AIAVB8ARqQYACIAAQpoGAgAAaCyASQYB+aiISQf8BSw0ACwsgAC0AAEEgcQ0AIAVB8ARqIBIgABCmgYCAABoLAkAgAC0AAEEgcQ0AIBYgHCAAEKaBgIAAGgsCQCAVQYCABEcNACAZIBtMDQAgBUHwBGpBMCAZIBtrIhJBgAIgEkGAAkkiFxsQwIGAgAAaAkAgFw0AA0ACQCAALQAAQSBxDQAgBUHwBGpBgAIgABCmgYCAABoLIBJBgH5qIhJB/wFLDQALCyAALQAAQSBxDQAgBUHwBGogEiAAEKaBgIAAGgsCQCAALQAAQSBxDQAgBUHQAGogFCAAEKaBgIAAGgsCQCATIBRrIhJBAUgNACAFQfAEakEwIBJBgAIgEkGAAkkiFBsQwIGAgAAaAkAgFA0AA0ACQCAALQAAQSBxDQAgBUHwBGpBgAIgABCmgYCAABoLIBJBgH5qIhJB/wFLDQALCyAALQAAQSBxDQAgBUHwBGogEiAAEKaBgIAAGgsCQCAALQAAQSBxDQAgGiAYIAAQpoGAgAAaCyAVQYDAAEcNACAZIBtMDQAgBUHwBGpBICAZIBtrIhJBgAIgEkGAAkkiFBsQwIGAgAAaAkAgFA0AA0ACQCAALQAAQSBxDQAgBUHwBGpBgAIgABCmgYCAABoLIBJBgH5qIhJB/wFLDQALCyAALQAAQSBxDQAgBUHwBGogEiAAEKaBgIAAGgsgGyAZIBsgGUobIhJBAE4NAAsLQQBBPTYC2NyAgAALQX8hEQsgBUHwBmokgICAgAAgEQuzBAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQXdqDhIRAAEEAgMFBgcICQoLDA0ODxASCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEyAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEzAQA3AwAPCyACIAIoAgAiAUEEajYCACAAIAEwAAA3AwAPCyACIAIoAgAiAUEEajYCACAAIAExAAA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAErAwA5AwAPCxC9gYCAAAALIAIgAigCACIBQQRqNgIAIAAgASgCADYCAAsLngEBAX8jgICAgABBgAJrIgUkgICAgAACQCACIANMDQAgBEGAwARxDQAgBSABIAIgA2siA0GAAiADQYACSSIEGxDAgYCAACECAkAgBA0AA0ACQCAALQAAQSBxDQAgAkGAAiAAEKaBgIAAGgsgA0GAfmoiA0H/AUsNAAsLIAAtAABBIHENACACIAMgABCmgYCAABoLIAVBgAJqJICAgIAACxwAQcyPgIAAQfDXgIAAELiBgIAAGhCFgYCAAAAL7gcBBH8CQAJAAkAgAkEgSw0AIAFBA3FFDQEgAkUNASAAIAEtAAA6AAAgAkF/aiEDIABBAWohBCABQQFqIgVBA3FFDQIgA0UNAiAAIAEtAAE6AAEgAkF+aiEDIABBAmohBCABQQJqIgVBA3FFDQIgA0UNAiAAIAEtAAI6AAIgAkF9aiEDIABBA2ohBCABQQNqIgVBA3FFDQIgA0UNAiAAIAEtAAM6AAMgAkF8aiEDIABBBGohBCABQQRqIQUMAgsgACABIAL8CgAAIAAPCyACIQMgACEEIAEhBQsCQAJAIARBA3EiAg0AAkACQCADQRBPDQAgAyECDAELAkAgA0FwaiICQRBxDQAgBCAFKQIANwIAIAQgBSkCCDcCCCAEQRBqIQQgBUEQaiEFIAIhAwsgAkEQSQ0AIAMhAgNAIAQgBSkCADcCACAEIAUpAgg3AgggBCAFKQIQNwIQIAQgBSkCGDcCGCAEQSBqIQQgBUEgaiEFIAJBYGoiAkEPSw0ACwsCQCACQQhJDQAgBCAFKQIANwIAIAVBCGohBSAEQQhqIQQLAkAgAkEEcUUNACAEIAUoAgA2AgAgBUEEaiEFIARBBGohBAsCQCACQQJxRQ0AIAQgBS8AADsAACAEQQJqIQQgBUECaiEFCyACQQFxRQ0BIAQgBS0AADoAACAADwsCQAJAAkACQAJAIANBIEkNACAEIAUoAgAiAzoAAAJAAkAgAkF/ag4DAwABAwsgBCADQQh2OgABIAQgBUEGaikBADcCBiAEIAUoAgRBEHQgA0EQdnI2AgIgBEESaiECIAVBEmohAUEOIQYgBUEOaigBACEFQQ4hAwwDCyAEIAVBBWopAAA3AgUgBCAFKAIEQRh0IANBCHZyNgIBIARBEWohAiAFQRFqIQFBDSEGIAVBDWooAAAhBUEPIQMMAgsCQAJAIANBEE8NACAEIQIgBSEBDAELIAQgBS0AADoAACAEIAUoAAE2AAEgBCAFKQAFNwAFIAQgBS8ADTsADSAEIAUtAA86AA8gBEEQaiECIAVBEGohAQsgA0EIcQ0CDAMLIAQgA0EQdjoAAiAEIANBCHY6AAEgBCAFQQdqKQAANwIHIAQgBSgCBEEIdCADQRh2cjYCAyAEQRNqIQIgBUETaiEBQQ8hBiAFQQ9qKAAAIQVBDSEDCyAEIAZqIAU2AgALIAIgASkAADcAACACQQhqIQIgAUEIaiEBCwJAIANBBHFFDQAgAiABKAAANgAAIAJBBGohAiABQQRqIQELAkAgA0ECcUUNACACIAEvAAA7AAAgAkECaiECIAFBAmohAQsgA0EBcUUNACACIAEtAAA6AAALIAALvwkBBH8CQAJAAkAgAkEhTw0AIAAgAUYNAiABIAAgAmoiA2tBACACQQF0a0sNAQsgACABIAL8CgAADAELIAEgAHNBA3EhBAJAAkACQCAAIAFPDQACQCAERQ0AIAIhBSAAIQMMAwsCQCAAQQNxDQAgAiEFIAAhAwwCCyACRQ0DIAAgAS0AADoAACACQX9qIQUCQCAAQQFqIgNBA3ENACABQQFqIQEMAgsgBUUNAyAAIAEtAAE6AAEgAkF+aiEFAkAgAEECaiIDQQNxDQAgAUECaiEBDAILIAVFDQMgACABLQACOgACIAJBfWohBQJAIABBA2oiA0EDcQ0AIAFBA2ohAQwCCyAFRQ0DIAAgAS0AAzoAAyAAQQRqIQMgAUEEaiEBIAJBfGohBQwBCwJAIAQNAAJAIANBA3FFDQAgAkUNBCAAIAJBf2oiA2oiBCABIANqLQAAOgAAAkAgBEEDcQ0AIAMhAgwBCyADRQ0EIAAgAkF+aiIDaiIEIAEgA2otAAA6AAACQCAEQQNxDQAgAyECDAELIANFDQQgACACQX1qIgNqIgQgASADai0AADoAAAJAIARBA3ENACADIQIMAQsgA0UNBCAAIAJBfGoiAmogASACai0AADoAAAsgAkEESQ0AAkAgAkF8aiIGQQJ2QQFqQQNxIgNFDQAgAUF8aiEEIABBfGohBQNAIAUgAmogBCACaigCADYCACACQXxqIQIgA0F/aiIDDQALCyAGQQxJDQAgAUFwaiEFIABBcGohBgNAIAYgAmoiA0EMaiAFIAJqIgRBDGooAgA2AgAgA0EIaiAEQQhqKAIANgIAIANBBGogBEEEaigCADYCACADIAQoAgA2AgAgAkFwaiICQQNLDQALCyACRQ0CIAIhAwJAIAJBA3EiBEUNACABQX9qIQUgAEF/aiEGIAIhAwNAIAYgA2ogBSADai0AADoAACADQX9qIQMgBEF/aiIEDQALCyACQQRJDQIgAUF8aiEEIABBfGohBQNAIAUgA2oiAUEDaiAEIANqIgJBA2otAAA6AAAgAUECaiACQQJqLQAAOgAAIAFBAWogAkEBai0AADoAACABIAItAAA6AAAgA0F8aiIDDQAMAwsLIAVBBEkNAAJAIAVBfGoiBEECdkEBakEHcSICRQ0AIAUgAkECdGshBQNAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIAJBf2oiAg0ACwsgBEEcSQ0AA0AgAyABKAIANgIAIAMgASgCBDYCBCADIAEoAgg2AgggAyABKAIMNgIMIAMgASgCEDYCECADIAEoAhQ2AhQgAyABKAIYNgIYIAMgASgCHDYCHCABQSBqIQEgA0EgaiEDIAVBYGoiBUEDSw0ACwsgBUUNAAJAAkAgBUEHcSICDQAgBSEEDAELIAVBeHEhBANAIAMgAS0AADoAACADQQFqIQMgAUEBaiEBIAJBf2oiAg0ACwsgBUEISQ0AA0AgAyABLQAAOgAAIAMgAS0AAToAASADIAEtAAI6AAIgAyABLQADOgADIAMgAS0ABDoABCADIAEtAAU6AAUgAyABLQAGOgAGIAMgAS0ABzoAByADQQhqIQMgAUEIaiEBIARBeGoiBA0ACwsgAAuIAwIDfwF+AkAgAkEhSQ0AIAAgASAC/AsAIAAPCwJAIAJFDQAgACABOgAAIAAgAmoiA0F/aiABOgAAIAJBA0kNACAAIAE6AAIgACABOgABIANBfWogAToAACADQX5qIAE6AAAgAkEHSQ0AIAAgAToAAyADQXxqIAE6AAAgAkEJSQ0AIABBACAAa0EDcSIEaiIFIAFB/wFxQYGChAhsIgM2AgAgBSACIARrQTxxIgFqIgJBfGogAzYCACABQQlJDQAgBSADNgIIIAUgAzYCBCACQXhqIAM2AgAgAkF0aiADNgIAIAFBGUkNACAFIAM2AhggBSADNgIUIAUgAzYCECAFIAM2AgwgAkFwaiADNgIAIAJBbGogAzYCACACQWhqIAM2AgAgAkFkaiADNgIAIAEgBUEEcUEYciICayIBQSBJDQAgA61CgYCAgBB+IQYgBSACaiECA0AgAiAGNwMYIAIgBjcDECACIAY3AwggAiAGNwMAIAJBIGohAiABQWBqIgFBH0sNAAsLIAALZwECfyABLQAAIQICQCAALQAAIgNFDQAgAyACQf8BcUcNACAAQQFqIQAgAUEBaiEBA0AgAS0AACECIAAtAAAiA0UNASAAQQFqIQAgAUEBaiEBIAMgAkH/AXFGDQALCyADIAJB/wFxawvPAQEDfyAAIQECQAJAIABBA3FFDQACQCAALQAADQAgACAAaw8LIABBAWoiAUEDcUUNACABLQAARQ0BIABBAmoiAUEDcUUNACABLQAARQ0BIABBA2oiAUEDcUUNACABLQAARQ0BIABBBGoiAUEDcQ0BCyABQXxqIQIgAUF7aiEBA0AgAUEEaiEBQYCChAggAkEEaiICKAIAIgNrIANyQYCBgoR4cUGAgYKEeEYNAAsDQCABQQFqIQEgAi0AACEDIAJBAWohAiADDQALCyABIABrC/YCAQN/IAJBAEchAwJAAkACQAJAIABBA3FFDQAgAkUNAAJAIAAtAAAgAUH/AXFHDQAgACEEIAIhBQwDCyACQX9qIgVBAEchAyAAQQFqIgRBA3FFDQEgBUUNASAELQAAIAFB/wFxRg0CIAJBfmoiBUEARyEDIABBAmoiBEEDcUUNASAFRQ0BIAQtAAAgAUH/AXFGDQIgAkF9aiIFQQBHIQMgAEEDaiIEQQNxRQ0BIAVFDQEgBC0AACABQf8BcUYNAiAAQQRqIQQgAkF8aiIFQQBHIQMMAQsgAiEFIAAhBAsgA0UNAQJAIAQtAAAgAUH/AXFGDQAgBUEESQ0AIAFB/wFxQYGChAhsIQADQEGAgoQIIAQoAgAgAHMiAmsgAnJBgIGChHhxQYCBgoR4Rw0CIARBBGohBCAFQXxqIgVBA0sNAAsLIAVFDQELIAFB/wFxIQIDQAJAIAQtAAAgAkcNACAEDwsgBEEBaiEEIAVBf2oiBQ0ACwtBAAsaAQF/IABBACABEMOBgIAAIgIgAGsgASACGwu8BAMGfAN/AnwgAiADoiIFIAEgBKIiBqAhBwJAIAEgA6IiCCACIASiIgmhIgogCmENACAHIAdhDQACQCABmUQAAAAAAADwf2EiCyACmUQAAAAAAADwf2EiDHIiDUEBRw0ARAAAAAAAAAAAIASmIAQgBCAEYhshBEQAAAAAAAAAACADpiADIAMgA2IbIQNEAAAAAAAA8D9EAAAAAAAAAAAgDBsgAqYhAkQAAAAAAADwP0QAAAAAAAAAACALGyABpiEBCyADmSEOAkACQAJAIASZIg9EAAAAAAAA8H9hDQAgDkQAAAAAAADwf2INAQtEAAAAAAAAAAAgAqYgAiACIAJiGyECRAAAAAAAAAAAIAGmIAEgASABYhshAUQAAAAAAADwP0QAAAAAAAAAACAPRAAAAAAAAPB/YRsgBKYhBEQAAAAAAADwP0QAAAAAAAAAACAORAAAAAAAAPB/YRsgA6YhAwwBCyANDQACQCAFmUQAAAAAAADwf2ENACAGmUQAAAAAAADwf2ENACAImUQAAAAAAADwf2ENACAJmUQAAAAAAADwf2INAgtEAAAAAAAAAAAgBKYgBCAEIARiGyEERAAAAAAAAAAAIAOmIAMgAyADYhshA0QAAAAAAAAAACACpiACIAIgAmIbIQJEAAAAAAAAAAAgAaYgASABIAFiGyEBCyABIASiIAMgAqKgRAAAAAAAAPB/oiEHIAEgA6IgBCACoqFEAAAAAAAA8H+iIQoLIAAgBzkDCCAAIAo5AwALzAMDBn0DfwJ9IAIgA5QiBSABIASUIgaSIQcCQCABIAOUIgggAiAElCIJkyIKIApbDQAgByAHWw0AAkAgAYtDAACAf1siCyACi0MAAIB/WyIMciINQQFHDQBDAAAAACAEmCAEIAQgBFwbIQRDAAAAACADmCADIAMgA1wbIQNDAACAP0MAAAAAIAwbIAKYIQJDAACAP0MAAAAAIAsbIAGYIQELIAOLIQ4CQAJAAkAgBIsiD0MAAIB/Ww0AIA5DAACAf1wNAQtDAAAAACACmCACIAIgAlwbIQJDAAAAACABmCABIAEgAVwbIQFDAACAP0MAAAAAIA9DAACAf1sbIASYIQRDAACAP0MAAAAAIA5DAACAf1sbIAOYIQMMAQsgDQ0AAkAgBYtDAACAf1sNACAGi0MAAIB/Ww0AIAiLQwAAgH9bDQAgCYtDAACAf1wNAgtDAAAAACAEmCAEIAQgBFwbIQRDAAAAACADmCADIAMgA1wbIQNDAAAAACACmCACIAIgAlwbIQJDAAAAACABmCABIAEgAVwbIQELIAEgBJQgAyAClJJDAACAf5QhByABIAOUIAQgApSTQwAAgH+UIQoLIAAgBzgCBCAAIAo4AgALC/BQAgBBgAgLoE4tKyAgIDBYMHgALTBYKzBYIDBYLTB4KzB4IDB4AGlmZnQAJXM6JWQ6ICVzAHZlY3RvcgBsaWZ0ZXIAbGluZWFyAC9zcmMvc3JjL2xsdm0tcHJvamVjdC9saWJjeHhhYmkvc3JjL3ByaXZhdGVfdHlwZWluZm8uY3BwAG5hbgBtID4gbgBtIDwgbgAvaG9tZS9jbGF1ZGUva2Fpcm90aWMvcGFja2FnZXMvc3BlY3RyYWwvbmF0aXZlLy5jYWNoZS9zdGZ0UGl0Y2hTaGlmdC12Mi4wL2NwcC9TdGZ0UGl0Y2hTaGlmdC9DZXBzdGVyLmgAL2hvbWUvY2xhdWRlL2thaXJvdGljL3BhY2thZ2VzL3NwZWN0cmFsL25hdGl2ZS8uY2FjaGUvc3RmdFBpdGNoU2hpZnQtdjIuMC9jcHAvU3RmdFBpdGNoU2hpZnQvUmVzYW1wbGVyLmgAL2hvbWUvY2xhdWRlL2thaXJvdGljL3BhY2thZ2VzL3NwZWN0cmFsL25hdGl2ZS8uY2FjaGUvc3RmdFBpdGNoU2hpZnQtdjIuMC9jcHAvU3RmdFBpdGNoU2hpZnQvVm9jb2Rlci5oAC9ob21lL2NsYXVkZS9rYWlyb3RpYy9wYWNrYWdlcy9zcGVjdHJhbC9uYXRpdmUvLmNhY2hlL3N0ZnRQaXRjaFNoaWZ0LXYyLjAvY3BwL1N0ZnRQaXRjaFNoaWZ0L1JGRlQuaABpbmYAYmFkX2FycmF5X25ld19sZW5ndGggd2FzIHRocm93biBpbiAtZm5vLWV4Y2VwdGlvbnMgbW9kZQBiYWRfYWxsb2Mgd2FzIHRocm93biBpbiAtZm5vLWV4Y2VwdGlvbnMgbW9kZQBlbmNvZGUAZGVjb2RlAE5BTgBJTkYAY2F0Y2hpbmcgYSBjbGFzcyB3aXRob3V0IGFuIG9iamVjdD8AZGZ0LnNpemUoKSA9PSBmcmFtZS5zaXplKCkgLyAyICsgMQAuAChudWxsKQB4LnNpemUoKSA9PSB5LnNpemUoKQBkZnQuc2l6ZSgpID09IGVuY29kZV9waGFzZV9idWZmZXIuc2l6ZSgpAGRmdC5zaXplKCkgPT0gZGVjb2RlX3BoYXNlX2J1ZmZlci5zaXplKCkAZW52ZWxvcGUuc2l6ZSgpID09IHNwZWN0cnVtLnNpemUoKQBsZW5ndGhfZXJyb3Igd2FzIHRocm93biBpbiAtZm5vLWV4Y2VwdGlvbnMgbW9kZSB3aXRoIG1lc3NhZ2UgIiVzIgBsaWJjKythYmk6IABTdXBwb3J0IGZvciBmb3JtYXR0aW5nIGxvbmcgZG91YmxlIHZhbHVlcyBpcyBjdXJyZW50bHkgZGlzYWJsZWQuClRvIGVuYWJsZSBpdCwgYWRkIC1sYy1wcmludHNjYW4tbG9uZy1kb3VibGUgdG8gdGhlIGxpbmsgY29tbWFuZC4KAEFzc2VydGlvbiBmYWlsZWQ6ICVzICglczogJXM6ICVkKQoAAAAAAAAA3AgAAAMAAAAEAAAABQAAAAYAAAAHAAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjE0c3RmdHBpdGNoc2hpZnQ0UkZGVEVOU185YWxsb2NhdG9ySVMyX0VFRUUAAJArAACQCAAAKCsAAAAAAABACQAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAATjE0c3RmdHBpdGNoc2hpZnQ0UkZGVEUATjE0c3RmdHBpdGNoc2hpZnQzRkZURQAAaCsAACAJAACQKwAACAkAADgJAAAAAAAAuAkAAA4AAAAPAAAAEAAAAAYAAAARAAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjE0c3RmdHBpdGNoc2hpZnQ1Q1JGRlRJZkVFTlNfOWFsbG9jYXRvcklTM19FRUVFAACQKwAAaAkAACgrAAAAAAAAMAoAABIAAAATAAAAFAAAAAYAAAAVAAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJTjE0c3RmdHBpdGNoc2hpZnQ1Q1JGRlRJZEVFTlNfOWFsbG9jYXRvcklTM19FRUVFAACQKwAA4AkAACgrAAAAAAAAnAoAABYAAAAXAAAAGAAAAAYAAAAZAAAATlN0M19fMjIwX19zaGFyZWRfcHRyX2VtcGxhY2VJMTBOb3JtYWxpemVySWZFTlNfOWFsbG9jYXRvcklTMl9FRUVFAACQKwAAWAoAACgrAAAaAAAAGwAAAAAAAADICgAAWjhrc19zaGlmdEUzJF8wAGgrAAC4CgAAAAAAAAAAAAAAAAAA/AoAAFoxN2tzX3N0cmVhbV9wcm9jZXNzRTMkXzAAAABoKwAA4AoAAE5TdDNfXzIxNF9fc2hhcmVkX2NvdW50RQBOU3QzX18yMTlfX3NoYXJlZF93ZWFrX2NvdW50RQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9FAAAAAAAAAAAAAABPu2EFZ6zdPxgtRFT7Iek/m/aB0gtz7z8YLURU+yH5P+JlLyJ/K3o8B1wUMyamgTy9y/B6iAdwPAdcFDMmppE8GC1EVPsh6T8YLURU+yHpv9IhM3982QJA0iEzf3zZAsAAAAAAAAAAAAAAAAAAAACAGC1EVPshCUAYLURU+yEJwAMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAZxEcAzWfDAAno3ABZgyoAi3bEAKYclgBEr90AGVfRAKU+BQAFB/8AM34/AMIy6ACYT94Au30yACY9wwAea+8An/heADUfOgB/8soA8YcdAHyQIQBqJHwA1W76ADAtdwAVO0MAtRTGAMMZnQCtxMIALE1BAAwAXQCGfUYA43EtAJvGmgAzYgAAtNJ8ALSnlwA3VdUA1z72AKMQGABNdvwAZJ0qAHDXqwBjfPgAerBXABcV5wDASVYAO9bZAKeEOAAkI8sA1op3AFpUIwAAH7kA8QobABnO3wCfMf8AZh5qAJlXYQCs+0cAfn/YACJltwAy6IkA5r9gAO/EzQBsNgkAXT/UABbe1wBYO94A3puSANIiKAAohugA4lhNAMbKMgAI4xYA4H3LABfAUADzHacAGOBbAC4TNACDEmIAg0gBAPWOWwCtsH8AHunyAEhKQwAQZ9MAqt3YAK5fQgBqYc4ACiikANOZtAAGpvIAXHd/AKPCgwBhPIgAinN4AK+MWgBv170ALaZjAPS/ywCNge8AJsFnAFXKRQDK2TYAKKjSAMJhjQASyXcABCYUABJGmwDEWcQAyMVEAE2ykQAAF/MA1EOtAClJ5QD91RAAAL78AB6UzABwzu4AEz71AOzxgACz58MAx/goAJMFlADBcT4ALgmzAAtF8wCIEpwAqyB7AC61nwBHksIAezIvAAxVbQByp5AAa+cfADHLlgB5FkoAQXniAPTfiQDolJcA4uaEAJkxlwCI7WsAX182ALv9DgBImrQAZ6RsAHFyQgCNXTIAnxW4ALzlCQCNMSUA93Q5ADAFHAANDAEASwhoACzuWABHqpAAdOcCAL3WJAD3faYAbkhyAJ8W7wCOlKYAtJH2ANFTUQDPCvIAIJgzAPVLfgCyY2gA3T5fAEBdAwCFiX8AVVIpADdkwABt2BAAMkgyAFtMdQBOcdQARVRuAAsJwQAq9WkAFGbVACcHnQBdBFAAtDvbAOp2xQCH+RcASWt9AB0nugCWaSkAxsysAK0UVACQ4moAiNmJACxyUAAEpL4AdweUAPMwcAAA/CcA6nGoAGbCSQBk4D0Al92DAKM/lwBDlP0ADYaMADFB3gCSOZ0A3XCMABe35wAI3zsAFTcrAFyAoABagJMAEBGSAA/o2ABsgK8A2/9LADiQDwBZGHYAYqUVAGHLuwDHibkAEEC9ANLyBABJdScA67b2ANsiuwAKFKoAiSYvAGSDdgAJOzMADpQaAFE6qgAdo8IAr+2uAFwmEgBtwk0ALXqcAMBWlwADP4MACfD2ACtAjABtMZkAObQHAAwgFQDYw1sA9ZLEAMatSwBOyqUApzfNAOapNgCrkpQA3UJoABlj3gB2jO8AaItSAPzbNwCuoasA3xUxAACuoQAM+9oAZE1mAO0FtwApZTAAV1a/AEf/OgBq+bkAdb7zACiT3wCrgDAAZoz2AATLFQD6IgYA2eQdAD2zpABXG48ANs0JAE5C6QATvqQAMyO1APCqGgBPZagA0sGlAAs/DwBbeM0AI/l2AHuLBACJF3IAxqZTAG9u4gDv6wAAm0pYAMTatwCqZroAds/PANECHQCx8S0AjJnBAMOtdwCGSNoA912gAMaA9ACs8C8A3eyaAD9cvADQ3m0AkMcfACrbtgCjJToAAK+aAK1TkwC2VwQAKS20AEuAfgDaB6cAdqoOAHtZoQAWEioA3LctAPrl/QCJ2/4Aib79AOR2bAAGqfwAPoBwAIVuFQD9h/8AKD4HAGFnMwAqGIYATb3qALPnrwCPbW4AlWc5ADG/WwCE10gAMN8WAMctQwAlYTUAyXDOADDLuAC/bP0ApACiAAVs5ABa3aAAIW9HAGIS0gC5XIQAcGFJAGtW4ACZUgEAUFU3AB7VtwAz8cQAE25fAF0w5ACFLqkAHbLDAKEyNgAIt6QA6rHUABb3IQCPaeQAJ/93AAwDgACNQC0AT82gACClmQCzotMAL10KALT5QgAR2ssAfb7QAJvbwQCrF70AyqKBAAhqXAAuVRcAJwBVAH8U8ADhB4YAFAtkAJZBjQCHvt4A2v0qAGsltgB7iTQABfP+ALm/ngBoak8ASiqoAE/EWgAt+LwA11qYAPTHlQANTY0AIDqmAKRXXwAUP7EAgDiVAMwgAQBx3YYAyd62AL9g9QBNZREAAQdrAIywrACywNAAUVVIAB77DgCVcsMAowY7AMBANQAG3HsA4EXMAE4p+gDWysgA6PNBAHxk3gCbZNgA2b4xAKSXwwB3WNQAaePFAPDaEwC6OjwARhhGAFV1XwDSvfUAbpLGAKwuXQAORO0AHD5CAGHEhwAp/ekA59bzACJ8ygBvkTUACODFAP/XjQBuauIAsP3GAJMIwQB8XXQAa62yAM1unQA+cnsAxhFqAPfPqQApc98Atcm6ALcAUQDisg0AdLokAOV9YAB02IoADRUsAIEYDAB+ZpQAASkWAJ96dgD9/b4AVkXvANl+NgDs2RMAi7q5AMSX/AAxqCcA8W7DAJTFNgDYqFYAtKi1AM/MDgASiS0Ab1c0ACxWiQCZzuMA1iC5AGteqgA+KpwAEV/MAP0LSgDh9PsAjjttAOKGLADp1IQA/LSpAO/u0QAuNckALzlhADghRAAb2cgAgfwKAPtKagAvHNgAU7SEAE6ZjABUIswAKlXcAMDG1gALGZYAGnC4AGmVZAAmWmAAP1LuAH8RDwD0tREA/Mv1ADS8LQA0vO4A6F3MAN1eYABnjpsAkjPvAMkXuABhWJsA4Ve8AFGDxgDYPhAA3XFIAC0c3QCvGKEAISxGAFnz1wDZepgAnlTAAE+G+gBWBvwA5XmuAIkiNgA4rSIAZ5PcAFXoqgCCJjgAyuebAFENpACZM7EAqdcOAGkFSABlsvAAf4inAIhMlwD50TYAIZKzAHuCSgCYzyEAQJ/cANxHVQDhdDoAZ+tCAP6d3wBe1F8Ae2ekALqsegBV9qIAK4gjAEG6VQBZbggAISqGADlHgwCJ4+YA5Z7UAEn7QAD/VukAHA/KAMVZigCU+isA08HFAA/FzwDbWq4AR8WGAIVDYgAhhjsALHmUABBhhwAqTHsAgCwaAEO/EgCIJpAAeDyJAKjE5ADl23sAxDrCACb06gD3Z4oADZK/AGWjKwA9k7EAvXwLAKRR3AAn3WMAaeHdAJqUGQCoKZUAaM4oAAnttABEnyAATpjKAHCCYwB+fCMAD7kyAKf1jgAUVucAIfEIALWdKgBvfk0ApRlRALX5qwCC39YAlt1hABY2AgDEOp8Ag6KhAHLtbQA5jXoAgripAGsyXABGJ1sAADTtANIAdwD89FUAAVlNAOBxgAAAAAAAAAAAAAAAAED7Ifk/AAAAAC1EdD4AAACAmEb4PAAAAGBRzHg7AAAAgIMb8DkAAABAICV6OAAAAIAiguM2AAAAAB3zaTUAACBlRxX3PwCi7y78Bec9OYMrZUcV57++BDrcCcfeP/svcGRHFde/SEwDUGx30j+8kuoos8fOvy75F+ElYso//oIrZUcV57/3AzrcCcfePz98K2VHFde/5FvwUGx30j/lj3bdCcfOvzbnxB52Yco/m6dkvD8Vx79KG/BU0YTEPzw4LKfkicK/Zu5aKC+zwD/4rLFrKCT3PwCwze5fCeG/oczSZvfh9j8A0Ha9lITgv4rUMA49ofY/APjorkMB4L+FbNAy7GH2PwBACzbF/t6/+JgRlfoj9j8A4Lca2f3dv2wCz6Rb5/U/AJDHDK7/3L+4TyFaBaz1PwCg/RE4BNy/Hm4WD+1x9T8A4DoyZwvbvzX4C1kJOfU/ALAtWi8V2r/drWHtTwH1PwBg+Fp/Idm/0HtIjrjK9D8AkHGwTTDYv+5PM7Q5lfQ/AOCp+YlB179p1a/fy2D0PwCQGbUrVda/U7nkTmYt9D8AEJuiI2vVv6bYHREB+/M/AKBfD2WD1L82WAy3lcnzPwCg9jfpndO/Sv22ShyZ8z8AYI1TobrSv7WZ4AyOafM/AEDKQIPZ0b+y5xOC5DrzPwDgQDqF+tC/sb2FGRkN8z8AMOcynB3Qv9dxssol4PI/AGD6on2Fzr+CzRPPBLTyPwCAPWPI08y/UMt8LLCI8j8AoBRMAybLv+VNlGMiXvI/AOBPLxx8yb+xFYY9VjTyPwAAgD8C1se/OK8+40YL8j8A4AUapzPGv92jzf3u4vE/AABX6fWUxL8wOQtYSrvxPwCg4CTk+cK/ACJ/hFOU8T8AwP1aWWLBvzzX1cAGbvE/AIC9dZqcv7/C5LdHX0jxPwDA+VtXe7y/0YUArVgj8T8AgPQPxmC5vyciUw/w/vA/AAC2R+JMtr+POtB3INvwPwBAAbJ4P7O/2YBZ1ua38D8AwEIafTiwv41Ae/4+lfA/AAC1CJJvqr+DO8XKJXPwPwAAd0+VeqS/XBsN5JdR8D8AAAzFqCOdv6KOIMGRMPA/AAB4KSZqkb8hfrMlEBDwPwAA6Nj4IHe/a6fK+X7A7z8AAFCxU/6GP4Tx9tNlRO8/AIAP4cwcoT9/EISfB8zuPwCAi4z8Taw/6FqXmTpX7j8AQFceMqqzP+Y9vfDW5e0/AICL0KAYuT+zOP+BtnftPwBABNrpcr4/Q+lNcrUM7T8AYH9Q0tzBP2N1DtyypOw/AKDeA6t2xD9Ry9bojj/sPwAg4ndDB8c/TAwCTyvd6z8AQKmL3o7JP8oVYABsfes/AODSargNzD+PMy5uNiDrPwDgzq8KhM4/OVApJnDF6j8AgGe0CnnQP90xJ7wBbeo/AMABaAWs0T+L8T+80xbqPwDg/tQR29I/rf5nSdHC6T8AgMVORgbUPwKZfPTkcOk/APA6Cb4t1T/yvII5+yDpPwDQUCCQUdY/8Vn3hwHT6D8A8OrN0nHXP232uevlhug/AJB9hZyO2D+UuVi2lzzoPwBg4VUBqNk/IhDG/wX05z8A0NNuGL7aP8oVFBgirec/AOCgrvLQ2z+M/5753GfnPwBAvz2k4Nw/jgq5EgAg5j8FtkQGqwSJPKY0VwQAYOY/qfdi6pv/YTzF8iXD/5/mP7qQPMvPfoI8BFq5OADg5j8mk3NWiP+IPOOUmeD/H+c/sYJfJ0D9ijwQDlkVAGDnP0GDI7R1/XK81VtlEgCg5z92KyR85gh4PKbpWTIA4Oc/tyL2JuQIYrzSsrTt/x/oPy/JpR5GAoS8w/z6LQBg6D8fmvKi9PdtPFBrjPf/n+g//ZVJCVMEjrxmFWc5AODoP0V7x77zBIq8RRe/4v8f6T88IA5ANPp3vNGfXMz/X+k/XWmgBYD/drxnR7o7AKDpPwN+7MTE+HA8pS255//f6T8CRoxH2X+OPK/9Ltf/H+o/fq7NTVUMaryV/wTe/1/qP2uy6YypfYY8K41eyv+f6j/eE0y1yYSCvOoDrd3/3+o/PC5g6sgSWDxNPQ3x/x/rP5x4J63d+o68WhYhzv9f6z83EsYZF8tTPHTmUNn/n+s/AM6UQdn3czyvqJwTAODrP8CbXSHECnU8md9GWwAg7D/JwelTpu5rPK73uUAAYOw/1nBKJ58HfLyK/VViAKDsPx9M6HZAC3q8XQlM2f/f7D/XtZr5M/mIPM/Wdfn/H+0/vuFfZggsWLyTHFai/1/tP/OV0psoBHu8DIsinf+f7T82og80UQKHPBZ+vGUA4O0/DNikFh4BdbyRR/YCACDuP+Bi7wkvgIk82KbXVwBg7j/69wxYdQt+vAzA7ScAoO4/EZhFCYOEjLx8y/VsAODuP/R2FZUngI+8zH0reAAg7z+PU3Ry2YGPvApFDCYAYO8/3P8nJwBxQLwz1Yzo/5/vP7Co/eHcG1i8iYYP1f/f7z9ujpHLGvmHPGcjKQQAIPA/gUYyZfN/mzxo1uPj/1/wP3uVrt0I+oY8V6eFCgCg8D+R+9OA3uJXvMw/XxoA4PA/FPDFBTOCkbz1uq/4/x/xP8K6gGa7+ou8rZFN5f9f8T/v5zcXEn+dvOE2rBEAoPE///UWBQoAnDxIQsgZAODxP6Bd2uT7gpC8bl7+DwAg8j9D+5xM0P2IvJHYnyYAYPI/gtGUeSr+jDza5qYpAKDyP8WLXnFzAnC8OT4p4P/f8j/5prLaOXybPILw3Pf/H/M/VFLcbjPxfTxgi1rw/1/zP+sxzUxWA568zK4OLgCg8z93pNNL5/B1PDayOwQA4PM/M4idFMt9nDz/h9ECACD0Pyg9Lc+vCH48sXw4DQBg9D+mmWWFNwiCPImfVgQAoPQ/0rxPkFz6ibzzQzUEAOD0PylTF+0lEXi8D38CzP8f9T/cVHeE2IOYPG+zh/3/X/U/ByjQMecJh7y69x3y/5/1PwJ7cmif94c8gTT86//f9T8+6TAukICRvAAAAAAAAPA/dIUV07DZ7z8PiflsWLXvP1FbEtABk+8/e1F9PLhy7z+quWgxh1TvPzhidW56OO8/4d4f9Z0e7z8VtzEK/gbvP8upOjen8e4/IjQSTKbe7j8tiWFgCM7uPycqNtXav+4/gk+dViu07j8pVEjdB6vuP4VVOrB+pO4/zTt/Zp6g7j90X+zodZ/uP4cB63MUoe4/E85MmYml7j/boCpC5azuP+XFzbA3t+4/kPCjgpHE7j9dJT6yA9XuP63TWpmf6O4/R1778nb/7j+cUoXdmxnvP2mQ79wgN+8/h6T73BhY7z9fm3szl3zvP9qQpKKvpO8/QEVuW3bQ7z8AAAAAAADoQpQjkUv4aqw/88T6UM6/zj/WUgz/Qi7mPwAAAAAAADhD/oIrZUcVR0CUI5FL+Gq8PvPE+lDOvy4/1lIM/0Iulj++8/h57GH2PxkwllvG/t6/PYivSu1x9T+k/NQyaAvbv7AQ8PA5lfQ/e7cfCotB17+FA7iwlcnzP3vPbRrpndO/pWSIDBkN8z8xtvLzmx3Qv6COC3siXvI/8Ho7Gx18yb8/NBpKSrvxP588r5Pj+cK/uuWK8Fgj8T9cjXi/y2C5v6cAmUE/lfA/zl9Htp1vqr8AAAAAAADwPwAAAAAAAAAArEea/Yxg7j899SSfyjizP6BqAh+zpOw/upE4VKl2xD/m/GpXNiDrP9LkxEoLhM4/LaqhY9HC6T8cZcbwRQbUP+1BeAPmhug/+J8bLJyO2D9iSFP13GfnP8x7sU6k4Nw/C25JyRZ20j96xnWgaRnXv926p2wKx94/yPa+SEcV578ruCplRxX3P/ArAABTdWNjZXNzAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQATGluayBoYXMgYmVlbiBzZXZlcmVk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";
|
|
22
|
+
|
|
23
|
+
const ERRORS = {
|
|
24
|
+
"-1": "the sample rate must be positive",
|
|
25
|
+
"-2": "the frame must be a power of 2 (512, 1024, 2048…)",
|
|
26
|
+
"-3": "the overlap must leave a hop between 1 sample and the whole frame",
|
|
27
|
+
"-4": "quefrency must be 0 or more, and timbre more than 0",
|
|
28
|
+
"-5": "there must be at least one step",
|
|
29
|
+
"-6": "each step needs from 1 to 16 factors",
|
|
30
|
+
"-7": "every factor must be a positive number",
|
|
31
|
+
"-8": "the steps must be in order of time",
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
function bytes(b64) {
|
|
35
|
+
// atob is not in every scope (an AudioWorklet has none): decoded by hand
|
|
36
|
+
const T = new Uint8Array(128);
|
|
37
|
+
const A = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
38
|
+
for (let i = 0; i < 64; i++) T[A.charCodeAt(i)] = i;
|
|
39
|
+
const n = b64.length, pad = b64.endsWith("==") ? 2 : b64.endsWith("=") ? 1 : 0;
|
|
40
|
+
const out = new Uint8Array((n * 3) / 4 - pad);
|
|
41
|
+
for (let i = 0, o = 0; i < n; i += 4) {
|
|
42
|
+
const v = (T[b64.charCodeAt(i)] << 18) | (T[b64.charCodeAt(i + 1)] << 12) | (T[b64.charCodeAt(i + 2)] << 6) | T[b64.charCodeAt(i + 3)];
|
|
43
|
+
if (o < out.length) out[o++] = (v >> 16) & 255;
|
|
44
|
+
if (o < out.length) out[o++] = (v >> 8) & 255;
|
|
45
|
+
if (o < out.length) out[o++] = v & 255;
|
|
46
|
+
}
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
let module = null, instance = null, compiling = null;
|
|
51
|
+
|
|
52
|
+
/** The compiled WebAssembly.Module (to hand to a worker or a worklet), once ready() has resolved. */
|
|
53
|
+
export function wasmModule() { return module; }
|
|
54
|
+
|
|
55
|
+
/** Promise of true once the WebAssembly is compiled and instantiated (once). */
|
|
56
|
+
export function ready(mod) {
|
|
57
|
+
if (instance) return Promise.resolve(true);
|
|
58
|
+
if (!compiling) {
|
|
59
|
+
// the few WASI calls the C library links are never reached in practice: they answer "not supported"
|
|
60
|
+
const nosys = () => 52;
|
|
61
|
+
const imports = { wasi_snapshot_preview1: { fd_close: nosys, fd_seek: nosys, fd_write: nosys, proc_exit: (c) => { throw new Error("shift: exit " + c); } } };
|
|
62
|
+
compiling = (mod ? Promise.resolve(mod) : WebAssembly.compile(bytes(WASM_BASE64)))
|
|
63
|
+
.then((m) => { module = m; return WebAssembly.instantiate(m, imports); })
|
|
64
|
+
.then((i) => { instance = i; if (i.exports._initialize) i.exports._initialize(); return true; })
|
|
65
|
+
.catch((e) => { compiling = null; throw e; });
|
|
66
|
+
}
|
|
67
|
+
return compiling;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/** The version of stftPitchShift inside ("2.0"). */
|
|
71
|
+
export function version() {
|
|
72
|
+
if (!instance) return null;
|
|
73
|
+
const v = instance.exports.ks_version();
|
|
74
|
+
return Math.floor(v / 100) + "." + (v % 100);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** [[t [f …]] …] from opts: its steps, or its factors from 0, sorted by time. */
|
|
78
|
+
export function stepsOf(opts) {
|
|
79
|
+
const o = opts || {};
|
|
80
|
+
const steps = Array.isArray(o.steps) && o.steps.length ? o.steps : [[0, Array.isArray(o.factors) && o.factors.length ? o.factors : [1]]];
|
|
81
|
+
return steps.map(([t, fs]) => [Number(t) || 0, (Array.isArray(fs) ? fs : [fs]).map(Number)]).sort((a, b) => a[0] - b[0]);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Every channel of a sound shifted, as long as the original. Synchronous (call ready() first): a minute of
|
|
86
|
+
* mono sound at 48 kHz takes about a second with the default frame and overlap.
|
|
87
|
+
*/
|
|
88
|
+
export function shift(chans, sr, opts) {
|
|
89
|
+
if (!instance) throw new Error("shift: call ready() first");
|
|
90
|
+
const o = opts || {}, X = instance.exports;
|
|
91
|
+
const frame = o.frame || 1024, hop = Math.max(1, Math.round(frame / (o.overlap || 32)));
|
|
92
|
+
const steps = stepsOf(o);
|
|
93
|
+
const flat = steps.flatMap((s) => s[1]);
|
|
94
|
+
const n = chans.length ? chans[0].length : 0;
|
|
95
|
+
const t0 = (typeof performance !== "undefined" ? performance : Date).now();
|
|
96
|
+
|
|
97
|
+
const pIn = X.ks_alloc(n * 4), pOut = X.ks_alloc(n * 4);
|
|
98
|
+
const pT = X.ks_alloc(steps.length * 8), pC = X.ks_alloc(steps.length * 4), pF = X.ks_alloc(flat.length * 8);
|
|
99
|
+
try {
|
|
100
|
+
// the views are made again after every call that may grow the memory
|
|
101
|
+
new Float64Array(X.memory.buffer, pT, steps.length).set(steps.map((s) => s[0]));
|
|
102
|
+
new Int32Array(X.memory.buffer, pC, steps.length).set(steps.map((s) => s[1].length));
|
|
103
|
+
new Float64Array(X.memory.buffer, pF, flat.length).set(flat);
|
|
104
|
+
const out = [];
|
|
105
|
+
for (const c of chans) {
|
|
106
|
+
new Float32Array(X.memory.buffer, pIn, n).set(c);
|
|
107
|
+
const r = X.ks_shift(sr, n, pIn, pOut, frame, hop, (o.quefrency || 0) / 1000, o.timbre || 1, o.rms ? 1 : 0,
|
|
108
|
+
steps.length, pT, pC, pF);
|
|
109
|
+
if (r !== 0) throw new Error("shift: " + (ERRORS[r] || "error " + r));
|
|
110
|
+
out.push(new Float32Array(X.memory.buffer, pOut, n).slice());
|
|
111
|
+
}
|
|
112
|
+
return { chans: out, ms: Math.round((typeof performance !== "undefined" ? performance : Date).now() - t0) };
|
|
113
|
+
} finally {
|
|
114
|
+
for (const p of [pIn, pOut, pT, pC, pF]) X.ks_free(p);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* A stream for real time (an AudioWorklet): blocks of any length in, as many out, one frame later.
|
|
120
|
+
* const st = stream(sampleRate, 1024, 128) frame and hop (frame / overlap)
|
|
121
|
+
* st.process(input, output) two Float32Arrays of the same length
|
|
122
|
+
* st.factors([1, 1.25, 1.5]) · st.formants(quefrencyMs, timbre, rms) · st.dry(0…1) · st.latency · st.free()
|
|
123
|
+
* Nothing here allocates on the JavaScript side while it runs: the two blocks live in the WebAssembly memory.
|
|
124
|
+
*/
|
|
125
|
+
export function stream(sr, frame, hop) {
|
|
126
|
+
if (!instance) throw new Error("shift: call ready() first");
|
|
127
|
+
const X = instance.exports;
|
|
128
|
+
const h = X.ks_stream_new(sr, frame, hop);
|
|
129
|
+
if (!h) throw new Error("shift: a stream needs a frame that is a power of 2 and a hop that divides it");
|
|
130
|
+
const BLOCK = 4096;
|
|
131
|
+
const pIn = X.ks_alloc(BLOCK * 4), pOut = X.ks_alloc(BLOCK * 4), pF = X.ks_alloc(16 * 8);
|
|
132
|
+
let vin = null, vout = null;
|
|
133
|
+
const views = () => {
|
|
134
|
+
if (!vin || vin.buffer !== X.memory.buffer) {
|
|
135
|
+
vin = new Float32Array(X.memory.buffer, pIn, BLOCK);
|
|
136
|
+
vout = new Float32Array(X.memory.buffer, pOut, BLOCK);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
return {
|
|
140
|
+
latency: X.ks_stream_latency(h),
|
|
141
|
+
process(input, output) {
|
|
142
|
+
for (let o = 0; o < input.length; o += BLOCK) {
|
|
143
|
+
const n = Math.min(BLOCK, input.length - o);
|
|
144
|
+
views();
|
|
145
|
+
vin.set(n === input.length ? input : input.subarray(o, o + n));
|
|
146
|
+
X.ks_stream_process(h, pIn, pOut, n);
|
|
147
|
+
views();
|
|
148
|
+
output.set(vout.subarray(0, n), o);
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
factors(fs) {
|
|
152
|
+
const a = (Array.isArray(fs) ? fs : [fs]).slice(0, 16).map(Number);
|
|
153
|
+
new Float64Array(X.memory.buffer, pF, a.length).set(a);
|
|
154
|
+
const r = X.ks_stream_factors(h, a.length, pF);
|
|
155
|
+
if (r !== 0) throw new Error("shift: " + (ERRORS[r] || "error " + r));
|
|
156
|
+
},
|
|
157
|
+
formants(quefrencyMs, timbre, rms) {
|
|
158
|
+
const r = X.ks_stream_formants(h, (quefrencyMs || 0) / 1000, timbre || 1, rms ? 1 : 0);
|
|
159
|
+
if (r !== 0) throw new Error("shift: " + (ERRORS[r] || "error " + r));
|
|
160
|
+
},
|
|
161
|
+
dry(x) { X.ks_stream_dry(h, Math.max(0, Math.min(1, Number(x) || 0))); },
|
|
162
|
+
free() { X.ks_stream_free(h); for (const p of [pIn, pOut, pF]) X.ks_free(p); },
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** The bytes of the WebAssembly (a copy), to compile where this module cannot be imported: an AudioWorklet made from a Blob. */
|
|
167
|
+
export function wasmBytes() { return bytes(WASM_BASE64); }
|
|
168
|
+
|
|
169
|
+
export default { ready, shift, stream, stepsOf, version, wasmModule, wasmBytes };
|
package/package.json
CHANGED
|
@@ -1,6 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kairotic/spectral",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Kairotic spectral components: shift~ (pitch shifting in real time, one interval or a whole chord, with the formants kept), made with stftPitchShift (MIT) in WebAssembly",
|
|
5
|
+
"author": "bonuoq",
|
|
6
|
+
"license": "MPL-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/bonuoq/kairotic.git",
|
|
10
|
+
"directory": "packages/spectral"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/bonuoq/kairotic/tree/main/packages#readme",
|
|
13
|
+
"type": "module",
|
|
14
|
+
"main": "dist/index.mjs",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"src",
|
|
18
|
+
"README.md"
|
|
19
|
+
],
|
|
20
|
+
"publishConfig": {
|
|
21
|
+
"access": "public"
|
|
22
|
+
},
|
|
23
|
+
"kairotic": {
|
|
24
|
+
"api": 1
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "node ../build.mjs spectral",
|
|
28
|
+
"prepublishOnly": "node ../build.mjs spectral"
|
|
29
|
+
},
|
|
30
|
+
"keywords": [
|
|
31
|
+
"kairotic",
|
|
32
|
+
"music",
|
|
33
|
+
"web audio",
|
|
34
|
+
"pitch shifting",
|
|
35
|
+
"harmonizer",
|
|
36
|
+
"formants",
|
|
37
|
+
"stft",
|
|
38
|
+
"webassembly"
|
|
39
|
+
]
|
|
40
|
+
}
|
package/src/shift.cljs
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
;; shift~ · pitch shifting in real time, one interval or a whole chord, with the formants kept
|
|
2
|
+
;; Part of @kairotic/spectral. Written against the Kairotic API (api/…), with its AudioWorklet inside.
|
|
3
|
+
;; The shifting is stftPitchShift 2.0 by Jürgen Hock (https://github.com/jurihock/stftPitchShift, MIT),
|
|
4
|
+
;; compiled to WebAssembly (packages/spectral/native). The WebAssembly is not in this source, so it does
|
|
5
|
+
;; not weigh on the history of a work: it is the module dist/shift.mjs of this same version of the
|
|
6
|
+
;; package, loaded the first time a shift~ sounds, and handed to the worklet as bytes.
|
|
7
|
+
(let [;; ── the WebAssembly: this version of the package on npm, or the page's own copy ──
|
|
8
|
+
origins ["npm:@kairotic/spectral@0.1.0/dist/shift.mjs" "kairotic/packages/spectral/shift.mjs"]
|
|
9
|
+
frame 1024
|
|
10
|
+
hop 128
|
|
11
|
+
|
|
12
|
+
;; ── the worklet ──
|
|
13
|
+
;; The library's own STFT, one frame at a time: every block in, as many out, one frame late (1024
|
|
14
|
+
;; samples, some 21 ms at 48 kHz). The factors, the transposition, the formants and the dry mix change
|
|
15
|
+
;; between frames, without a click.
|
|
16
|
+
worklet "class KairoticShift extends AudioWorkletProcessor {
|
|
17
|
+
constructor(o) {
|
|
18
|
+
super();
|
|
19
|
+
const p = (o && o.processorOptions) || {};
|
|
20
|
+
this.frame = p.frame || 1024; this.hop = p.hop || 128;
|
|
21
|
+
this.chord = [1]; this.semis = 0; this.form = [0, 1, 0]; this.dryMix = 0;
|
|
22
|
+
this.X = null; this.h = 0; this.vin = null; this.vout = null;
|
|
23
|
+
this.port.onmessage = (e) => this.message(e.data);
|
|
24
|
+
const nosys = () => 52;
|
|
25
|
+
const imports = { wasi_snapshot_preview1: { fd_close: nosys, fd_seek: nosys, fd_write: nosys, proc_exit: () => {} } };
|
|
26
|
+
WebAssembly.instantiate(p.wasm, imports).then((r) => {
|
|
27
|
+
const X = r.instance.exports;
|
|
28
|
+
if (X._initialize) X._initialize();
|
|
29
|
+
this.h = X.ks_stream_new(sampleRate, this.frame, this.hop);
|
|
30
|
+
if (!this.h) throw new Error('shift~: the frame must be a power of 2 and the hop must divide it');
|
|
31
|
+
this.pIn = X.ks_alloc(16384); this.pOut = X.ks_alloc(16384); this.pF = X.ks_alloc(128);
|
|
32
|
+
this.X = X; this.apply();
|
|
33
|
+
this.port.postMessage({ ready: true, latency: X.ks_stream_latency(this.h) });
|
|
34
|
+
}).catch((err) => this.port.postMessage({ error: String((err && err.message) || err) }));
|
|
35
|
+
}
|
|
36
|
+
message(m) {
|
|
37
|
+
if (m.factors) this.chord = m.factors;
|
|
38
|
+
if (typeof m.transpose === 'number') this.semis = m.transpose;
|
|
39
|
+
if (m.formants) this.form = m.formants;
|
|
40
|
+
if (typeof m.dry === 'number') this.dryMix = m.dry;
|
|
41
|
+
this.apply();
|
|
42
|
+
}
|
|
43
|
+
apply() {
|
|
44
|
+
const X = this.X; if (!X) return;
|
|
45
|
+
const g = Math.pow(2, this.semis / 12), fs = this.chord.slice(0, 16).map((f) => f * g);
|
|
46
|
+
new Float64Array(X.memory.buffer, this.pF, fs.length).set(fs);
|
|
47
|
+
X.ks_stream_factors(this.h, fs.length, this.pF);
|
|
48
|
+
X.ks_stream_formants(this.h, this.form[0] / 1000, this.form[1], this.form[2] ? 1 : 0);
|
|
49
|
+
X.ks_stream_dry(this.h, this.dryMix);
|
|
50
|
+
}
|
|
51
|
+
views() {
|
|
52
|
+
const X = this.X;
|
|
53
|
+
if (!this.vin || this.vin.buffer !== X.memory.buffer) {
|
|
54
|
+
this.vin = new Float32Array(X.memory.buffer, this.pIn, 4096);
|
|
55
|
+
this.vout = new Float32Array(X.memory.buffer, this.pOut, 4096);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
process(inputs, outputs) {
|
|
59
|
+
const inp = inputs[0], out = outputs[0], X = this.X;
|
|
60
|
+
if (!out || !out.length) return true;
|
|
61
|
+
const n = out[0].length;
|
|
62
|
+
if (!X) { for (const c of out) c.fill(0); return true; }
|
|
63
|
+
for (let o = 0; o < n; o += 4096) {
|
|
64
|
+
this.views();
|
|
65
|
+
const k = Math.min(4096, n - o);
|
|
66
|
+
// the input as one channel
|
|
67
|
+
for (let i = 0; i < k; i++) {
|
|
68
|
+
let s = 0;
|
|
69
|
+
if (inp) for (let c = 0; c < inp.length; c++) s += inp[c][o + i];
|
|
70
|
+
this.vin[i] = inp && inp.length > 1 ? s / inp.length : s;
|
|
71
|
+
}
|
|
72
|
+
X.ks_stream_process(this.h, this.pIn, this.pOut, k);
|
|
73
|
+
// (the memory of the WebAssembly may have grown during the call: its views are made again)
|
|
74
|
+
this.views();
|
|
75
|
+
for (const c of out) c.set(this.vout.subarray(0, k), o);
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
registerProcessor('kairotic-shift', KairoticShift);
|
|
81
|
+
"
|
|
82
|
+
|
|
83
|
+
;; ── factors, read as music ──
|
|
84
|
+
;; a number is a ratio (1.5); a word is a ratio (3/2), semitones with a sign (+7, -12, +3.86, +0) or
|
|
85
|
+
;; cents (386c, -50c). Words arrive as keywords: their whole text, slash included, is (subs (str k) 1).
|
|
86
|
+
factor (fn [x]
|
|
87
|
+
(let [ok (fn [f] (when (and (number? f) (js/isFinite f) (pos? f) (<= f 8)) f))]
|
|
88
|
+
(cond
|
|
89
|
+
(number? x) (ok x)
|
|
90
|
+
(or (keyword? x) (string? x))
|
|
91
|
+
(let [s (if (keyword? x) (subs (str x) 1) x)]
|
|
92
|
+
(cond
|
|
93
|
+
(re-matches #"\d+(\.\d+)?/\d+(\.\d+)?" s)
|
|
94
|
+
(let [[a b] (map js/parseFloat (.split s "/"))] (when (pos? b) (ok (/ a b))))
|
|
95
|
+
(re-matches #"[+-]\d+(\.\d+)?" s) (ok (js/Math.pow 2 (/ (js/parseFloat s) 12)))
|
|
96
|
+
(re-matches #"[+-]?\d+(\.\d+)?c" s) (ok (js/Math.pow 2 (/ (js/parseFloat s) 1200)))
|
|
97
|
+
:else nil))
|
|
98
|
+
:else nil)))
|
|
99
|
+
;; a chord from a list of factors: nil if any of them is not one, or there are none or more than 16
|
|
100
|
+
chord (fn [xs]
|
|
101
|
+
(let [fs (map factor xs)]
|
|
102
|
+
(when (and (seq xs) (<= (count xs) 16) (every? some? fs)) (vec fs))))
|
|
103
|
+
from-semitones (fn [xs] (when (and (seq xs) (every? number? xs))
|
|
104
|
+
(chord (map (fn [s] (js/Math.pow 2 (/ s 12))) xs))))
|
|
105
|
+
from-cents (fn [xs] (when (and (seq xs) (every? number? xs))
|
|
106
|
+
(chord (map (fn [c] (js/Math.pow 2 (/ c 1200))) xs))))
|
|
107
|
+
written (fn [args] (or (chord args) [1]))
|
|
108
|
+
|
|
109
|
+
;; what the box keeps: the chord, the transposition, the formants [quefrency-ms timbre rms], the dry mix
|
|
110
|
+
settings (fn [args state]
|
|
111
|
+
(merge {:factors (written args) :transpose 0 :formants [0 1 false] :dry 0}
|
|
112
|
+
(select-keys state [:factors :transpose :formants :dry])))
|
|
113
|
+
send! (fn [node]
|
|
114
|
+
(when-let [w @(:w node)]
|
|
115
|
+
(let [{:keys [factors transpose formants dry]} @(:settings node)]
|
|
116
|
+
(.postMessage (.-port w) (clj->js {:factors factors :transpose transpose :formants formants :dry dry})))))
|
|
117
|
+
put (fn [state args k v]
|
|
118
|
+
(let [s (assoc (settings args state) k v)]
|
|
119
|
+
{:state s :effects [[:settings s]]}))]
|
|
120
|
+
{;; ── about ──
|
|
121
|
+
:class "shift~"
|
|
122
|
+
:license "MIT"
|
|
123
|
+
:doc "Pitch shifting in real time: the signal on the inlet, transposed by every factor written after it at once (one interval, or a chord), one frame late (1024 samples). A factor is a ratio (1.5 or 3/2), semitones with a sign (+7, -12, +0 for the unison) or cents (386c). A list of them changes the chord; [:semitones 0 4 7] and [:cents 0 386 702] write it in those units; [:transpose st] moves every factor by st semitones, without retyping the chord (a glide); [:formants q] keeps the formants with a lifter of q ms (1 is a good start for a voice, 0 off), [:formants q t] also shifts them by t; [:rms 1] keeps the loudness; [:dry x] mixes x (0…1) of the input in. Made with stftPitchShift 2.0 by Jürgen Hock (MIT); the library warns that the formants are kept less well with several factors and with small ones."
|
|
124
|
+
:usage "shift~ [factor …]"
|
|
125
|
+
:io [1 1]
|
|
126
|
+
|
|
127
|
+
;; ── logic ──
|
|
128
|
+
:receive (fn [{:keys [value state args]}]
|
|
129
|
+
(let [s (settings args state)
|
|
130
|
+
head (when (vector? value) (first value))
|
|
131
|
+
more (when (vector? value) (vec (rest value)))
|
|
132
|
+
nums (fn [xs] (filterv number? xs))]
|
|
133
|
+
;; (the same value again sets what is already set: nothing that is going on changes)
|
|
134
|
+
(cond
|
|
135
|
+
(= head :transpose) (if-let [t (api/num-of more)] (put s args :transpose (api/clamp t -48 48)) {:state s})
|
|
136
|
+
(= head :semitones) (if-let [c (from-semitones more)] (put s args :factors c) {:state s})
|
|
137
|
+
(= head :cents) (if-let [c (from-cents more)] (put s args :factors c) {:state s})
|
|
138
|
+
(= head :formants) (let [[q t] (nums more)]
|
|
139
|
+
(put s args :formants
|
|
140
|
+
[(api/clamp (or q 0) 0 20) (api/clamp (or t 1) 0.25 4) (nth (:formants s) 2)]))
|
|
141
|
+
(= head :rms) (put s args :formants
|
|
142
|
+
(assoc (:formants s) 2 (boolean (#{1 true :on} (first more)))))
|
|
143
|
+
(= head :dry) (if-let [d (api/num-of more)] (put s args :dry (api/clamp d 0 1)) {:state s})
|
|
144
|
+
:else (if-let [c (chord (if (vector? value) value [value]))]
|
|
145
|
+
(put s args :factors c)
|
|
146
|
+
{:state s}))))
|
|
147
|
+
|
|
148
|
+
;; ── audio ──
|
|
149
|
+
:audio {:create (fn [ac b _]
|
|
150
|
+
(let [in (.createGain ac) out (.createGain ac)
|
|
151
|
+
node {:in in :out out :w (atom nil) :alive (atom true)
|
|
152
|
+
:settings (atom (settings (:args b) (:state b)))
|
|
153
|
+
:inlets [[in 0]] :outlets [[out 0]]}]
|
|
154
|
+
(-> (api/import-module origins)
|
|
155
|
+
(.then (fn [S]
|
|
156
|
+
(api/worklet-node ac "kairotic-shift" worklet
|
|
157
|
+
{:numberOfInputs 1 :numberOfOutputs 1 :outputChannelCount [1]
|
|
158
|
+
:processorOptions {:frame frame :hop hop :wasm (.wasmBytes S)}})))
|
|
159
|
+
(.then (fn [w]
|
|
160
|
+
(set! (.. w -port -onmessage)
|
|
161
|
+
(fn [e] (when-let [err (.. e -data -error)] (js/console.error "shift~" err))))
|
|
162
|
+
(if @(:alive node)
|
|
163
|
+
(do (.connect in w) (.connect w out) (reset! (:w node) w) (send! node))
|
|
164
|
+
(try (.disconnect w) (catch :default _ nil)))))
|
|
165
|
+
(.catch (fn [e] (js/console.error "shift~" e))))
|
|
166
|
+
node))
|
|
167
|
+
:effects {:settings (fn [node s _] (reset! (:settings node) s) (send! node))}
|
|
168
|
+
;; a new text: its chord, without rebuilding the node (what came by messages besides the chord stays)
|
|
169
|
+
:update (fn [node b _] (swap! (:settings node) assoc :factors (written (:args b))) (send! node))
|
|
170
|
+
:dispose (fn [node]
|
|
171
|
+
(reset! (:alive node) false)
|
|
172
|
+
(when-let [w @(:w node)] (try (.disconnect w) (catch :default _ nil))))}
|
|
173
|
+
|
|
174
|
+
;; ── help ──
|
|
175
|
+
:help {:inlets ["a signal to shift; a number or a list of factors (1.5 · 1 5/4 3/2 · +7 · 386c) is the chord; [:semitones …] [:cents …]; [:transpose st]; [:formants q t]; [:rms 1]; [:dry x]"]
|
|
176
|
+
:outlets ["the shifted signal, every factor at once, one frame (1024 samples) late"]
|
|
177
|
+
:example "(box :b1 \"adc~ 1\" 40 30)\n(box :b2 \"shift~ 1 5/4 3/2\" 40 150)\n(box :b3 \"dac~ 1 2\" 40 210)\n(box :b4 \"msg 1 6/5 3/2\" 160 30)\n(box :b5 \"msg transpose -5\" 160 70)\n(box :b6 \"msg formants 1\" 300 30)\n(box :b7 \"msg 1/2 +7\" 300 70)\n(connect :b1 0 :b2 0)\n(connect :b4 0 :b2 0)\n(connect :b5 0 :b2 0)\n(connect :b6 0 :b2 0)\n(connect :b7 0 :b2 0)\n(connect :b2 0 :b3 0)\n(connect :b2 0 :b3 1)"
|
|
178
|
+
:try "Press ▶ and sing or play into the microphone: a major triad answers. Press the messages while it sounds: a minor triad, the whole chord a fourth down, the formants kept (a voice stops sounding small or big), an octave below and a fifth above. Use headphones."}})
|