From 63fd72cdc795496ea5954855515e97fc36bebcbd Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Tue, 14 Jan 2020 22:43:58 +0100 Subject: [PATCH] Assembly library started --- c/buildasm/add.asm.ejs | 245 + c/buildasm/binops.asm.ejs | 178 + c/buildasm/buildzqfield.js | 71 + c/buildasm/buildzqfieldtester.js | 75 + c/buildasm/cmpops.asm.ejs | 108 + c/buildasm/copy.asm.ejs | 39 + c/buildasm/fr.asm | 4854 +++++++++++++++++ c/buildasm/fr.asm.ejs | 41 + c/buildasm/fr.c | 39 + c/buildasm/fr.c.ejs | 39 + c/buildasm/fr.h.ejs | 31 + c/buildasm/fr.o | Bin 0 -> 18573 bytes c/buildasm/main | Bin 0 -> 26420 bytes c/buildasm/main.c | 24 + c/buildasm/main.dSYM/Contents/Info.plist | 20 + .../main.dSYM/Contents/Resources/DWARF/main | Bin 0 -> 25150 bytes c/buildasm/montgomery.asm.ejs | 273 + c/buildasm/mul.asm.ejs | 211 + c/buildasm/neg.asm.ejs | 78 + c/buildasm/old/buildfieldasm.js | 33 + c/buildasm/old/buildzqfield.js | 209 + c/buildasm/old/buildzqfieldtester.js | 68 + c/buildasm/old/fr.asm.ejs.old | 302 + c/buildasm/old/mul.asm.ejs | 251 + c/buildasm/out.map | 219 + c/buildasm/sub.asm.ejs | 317 ++ c/buildasm/tester | Bin 0 -> 1107772 bytes c/buildasm/tester.cpp | 209 + c/buildasm/tester.dSYM/Contents/Info.plist | 20 + .../Contents/Resources/DWARF/tester | Bin 0 -> 2484053 bytes c/buildasm/utils.asm.ejs | 73 + c/calcwit.cpp | 2 +- c/main.cpp | 2 + cli.js | 4 + package-lock.json | 20 + package.json | 2 + src/c_build.js | 12 +- src/compiler.js | 2 +- src/construction_phase.js | 4 +- test/fieldasm.js | 322 ++ 40 files changed, 8392 insertions(+), 5 deletions(-) create mode 100644 c/buildasm/add.asm.ejs create mode 100644 c/buildasm/binops.asm.ejs create mode 100644 c/buildasm/buildzqfield.js create mode 100644 c/buildasm/buildzqfieldtester.js create mode 100644 c/buildasm/cmpops.asm.ejs create mode 100644 c/buildasm/copy.asm.ejs create mode 100644 c/buildasm/fr.asm create mode 100644 c/buildasm/fr.asm.ejs create mode 100644 c/buildasm/fr.c create mode 100644 c/buildasm/fr.c.ejs create mode 100644 c/buildasm/fr.h.ejs create mode 100644 c/buildasm/fr.o create mode 100755 c/buildasm/main create mode 100644 c/buildasm/main.c create mode 100644 c/buildasm/main.dSYM/Contents/Info.plist create mode 100644 c/buildasm/main.dSYM/Contents/Resources/DWARF/main create mode 100644 c/buildasm/montgomery.asm.ejs create mode 100644 c/buildasm/mul.asm.ejs create mode 100644 c/buildasm/neg.asm.ejs create mode 100644 c/buildasm/old/buildfieldasm.js create mode 100644 c/buildasm/old/buildzqfield.js create mode 100644 c/buildasm/old/buildzqfieldtester.js create mode 100644 c/buildasm/old/fr.asm.ejs.old create mode 100644 c/buildasm/old/mul.asm.ejs create mode 100644 c/buildasm/out.map create mode 100644 c/buildasm/sub.asm.ejs create mode 100755 c/buildasm/tester create mode 100644 c/buildasm/tester.cpp create mode 100644 c/buildasm/tester.dSYM/Contents/Info.plist create mode 100644 c/buildasm/tester.dSYM/Contents/Resources/DWARF/tester create mode 100644 c/buildasm/utils.asm.ejs create mode 100644 test/fieldasm.js diff --git a/c/buildasm/add.asm.ejs b/c/buildasm/add.asm.ejs new file mode 100644 index 0000000..292bcb0 --- /dev/null +++ b/c/buildasm/add.asm.ejs @@ -0,0 +1,245 @@ +<% function addS1S2() { %> + xor rdx, rdx + mov edx, eax + add edx, ecx + jo add_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +add_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + movsx rdx, ecx + add rsi, rdx + call rawCopyS2L + pop rsi + ret +<% } %> + + + +<% function addL1S2() { %> + add rsi, 8 + movsx rdx, ecx + add rdi, 8 + cmp rdx, 0 + <% const rawAddLabel = global.tmpLabel() %> + jns <%= rawAddLabel %> + neg rdx + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret +<%= rawAddLabel %>: + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret + +<% } %> + +<% function addS1L2() { %> + lea rsi, [rdx + 8] + movsx rdx, eax + add rdi, 8 + cmp rdx, 0 + <% const rawAddLabel = global.tmpLabel() %> + jns <%= rawAddLabel %> + neg rdx + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret +<%= rawAddLabel %>: + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret +<% } %> + +<% function addL1L2() { %> + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret +<% } %> + +;;;;;;;;;;;;;;;;;;;;;; +; add +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_add: + mov rax, [rsi] + mov rcx, [rdx] + bt rax, 63 ; Check if is short first operand + jc add_l1 + bt rcx, 63 ; Check if is short second operand + jc add_s1l2 + +add_s1s2: ; Both operands are short +<%= addS1S2() %> +add_l1: + bt rcx, 63 ; Check if is short second operand + jc add_l1l2 + +;;;;;;;; +add_l1s2: + bt rax, 62 ; check if montgomery first + jc add_l1ms2 +add_l1ns2: +<%= global.setTypeDest("0x80"); %> +<%= addL1S2(); %> + +add_l1ms2: + bt rcx, 62 ; check if montgomery second + jc add_l1ms2m +add_l1ms2n: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_b() %> +<%= addL1L2() %> + +add_l1ms2m: +<%= global.setTypeDest("0xC0"); %> +<%= addL1L2() %> + + +;;;;;;;; +add_s1l2: + bt rcx, 62 ; check if montgomery first + jc add_s1l2m +add_s1l2n: +<%= global.setTypeDest("0x80"); %> +<%= addS1L2(); %> + +add_s1l2m: + bt rax, 62 ; check if montgomery second + jc add_s1ml2m +add_s1nl2m: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_a() %> +<%= addL1L2() %> + +add_s1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= addL1L2() %> + +;;;; +add_l1l2: + bt rax, 62 ; check if montgomery first + jc add_l1ml2 +add_l1nl2: + bt rcx, 62 ; check if montgomery second + jc add_l1nl2m +add_l1nl2n: +<%= global.setTypeDest("0x80"); %> +<%= addL1L2() %> + +add_l1nl2m: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_a(); %> +<%= addL1L2() %> + +add_l1ml2: + bt rcx, 62 ; check if montgomery seconf + jc add_l1ml2m +add_l1ml2n: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_b(); %> +<%= addL1L2() %> + +add_l1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= addL1L2() %> + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawAddLL +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of type long +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= Pointer to the long data of element 2 +; rdi <= Pointer to the long data of result +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawAddLL: + ; Add component by component with carry +<% for (let i=0; i + mov rax, [rsi + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> rax, [rdx + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + jc rawAddLL_sq ; if overflow, substract q + + ; Compare with q +<% for (let i=0; i +<% if (i>0) { %> + mov rax, [rdi + <%= (n64-i-1)*8 %>] +<% } %> + cmp rax, [q + <%= (n64-i-1)*8 %>] + jc rawAddLL_done ; q is bigget so done. + jnz rawAddLL_sq ; q is lower +<% } %> + ; If equal substract q +rawAddLL_sq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%=i*8%>], rax +<% } %> +rawAddLL_done: + ret + + +;;;;;;;;;;;;;;;;;;;;;; +; rawAddLS +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of type long +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 +; rdx <= Value to be added +;;;;;;;;;;;;;;;;;;;;;; +rawAddLS: + ; Add component by component with carry + + add rdx, [rsi] + mov [rdi] ,rdx +<% for (let i=1; i + mov rdx, 0 + adc rdx, [rsi + <%=i*8%>] + mov [rdi + <%=i*8%>], rdx +<% } %> + jc rawAddLS_sq ; if overflow, substract q + + ; Compare with q +<% for (let i=0; i + mov rax, [rdi + <%= (n64-i-1)*8 %>] + cmp rax, [q + <%= (n64-i-1)*8 %>] + jc rawAddLS_done ; q is bigget so done. + jnz rawAddLS_sq ; q is lower +<% } %> + ; If equal substract q +rawAddLS_sq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%=i*8%>], rax +<% } %> +rawAddLS_done: + ret + + + + diff --git a/c/buildasm/binops.asm.ejs b/c/buildasm/binops.asm.ejs new file mode 100644 index 0000000..1ca5068 --- /dev/null +++ b/c/buildasm/binops.asm.ejs @@ -0,0 +1,178 @@ +<% function binOpS1S2(op) { %> + cmp r8d, 0 + <% const s1s2_solveNeg = global.tmpLabel() %> + js <%=s1s2_solveNeg%> + + cmp r9d, 0 + js <%=s1s2_solveNeg%> + xor rdx, rdx ; both ops are positive so do the op and return + mov edx, r8d + <%=op%> edx, r9d + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +<%=s1s2_solveNeg%>: +<%= global.setTypeDest("0x80"); %> +<%= global.toLong_b() %> +<%= global.toLong_a() %> +<%= binOpL1L2(op) %> + + +<% } %> + +<% function binOpS1L2(op) { %> + cmp r8d, 0 + <% const s1l2_solveNeg = global.tmpLabel() %> + js <%=s1l2_solveNeg%> + movsx rax, r8d + <%=op%> rax, [rdx +8] + mov [rdi+8], rax +<% for (let i=1; i + xor rax, rax + <%=op%> rax, [rdx + <%= (i*8)+8 %>] +<% if (i== n64-1) { %> + and rax, [lboMask] +<% } %> + mov [rdi + <%= (i*8)+8 %> ], rax +<% } %> + ret + +<%=s1l2_solveNeg%>: +<%= global.toLong_a() %> +<%= global.setTypeDest("0x80"); %> +<%= binOpL1L2(op) %> + +<% } %> + +<% function binOpL1S2(op) { %> + cmp r9d, 0 + <% const l1s2_solveNeg = global.tmpLabel() %> + js <%=l1s2_solveNeg%> + movsx rax, r9d + <%=op%> rax, [rsi +8] + mov [rdi+8], rax +<% for (let i=1; i + xor rax, rax + <%=op%> rax, [rsi + <%= (i*8)+8 %>]; +<% if (i== n64-1) { %> + and rax, [lboMask] ; +<% } %> + mov [rdi + <%= (i*8)+8 %> ], rax; +<% } %> + ret + +<%=l1s2_solveNeg%>: +<%= global.toLong_b() %> +<%= global.setTypeDest("0x80"); %> +<%= binOpL1L2(op) %> + +<% } %> + +<% function binOpL1L2(op) { %> +<% for (let i=0; i + mov rax, [rsi + <%= (i*8)+8 %>] + <%=op%> rax, [rdx + <%= (i*8)+8 %>] +<% if (i== n64-1) { %> + and rax, [lboMask] +<% } %> + mov [rdi + <%= (i*8)+8 %> ], rax +<% } %> + ret +<% } %> + + + + +<% function binOp(op) { %> +;;;;;;;;;;;;;;;;;;;;;; +; <%= op %> +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_b<%=op%>: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc <%=op%>_l1 + bt r9, 63 ; Check if is short second operand + jc <%=op%>_s1l2 + +<%=op%>_s1s2: +<%= binOpS1S2(op) %> + + +<%=op%>_l1: + bt r9, 63 ; Check if is short second operand + jc <%=op%>_l1l2 + + +<%=op%>_l1s2: + bt r8, 62 ; check if montgomery first + jc <%=op%>_l1ms2 +<%=op%>_l1ns2: +<%= global.setTypeDest("0x80"); %> +<%= binOpL1S2(op) %> + +<%=op%>_l1ms2: +<%= global.setTypeDest("0x80"); %> + push r9 ; r9 is used in montgomery so we need to save it +<%= global.fromMont_a() %> + pop r9 +<%= binOpL1S2(op) %> + + +<%=op%>_s1l2: + bt r9, 62 ; check if montgomery first + jc <%=op%>_s1l2m +<%=op%>_s1l2n: +<%= global.setTypeDest("0x80"); %> +<%= binOpS1L2(op) %> + +<%=op%>_s1l2m: +<%= global.setTypeDest("0x80"); %> + push r8 ; r8 is used in montgomery so we need to save it +<%= global.fromMont_b() %> + pop r8 +<%= binOpS1L2(op) %> + + +<%=op%>_l1l2: + bt r8, 62 ; check if montgomery first + jc <%=op%>_l1ml2 + bt r9, 62 ; check if montgomery first + jc <%=op%>_l1nl2m +<%=op%>_l1nl2n: +<%= global.setTypeDest("0x80"); %> +<%= binOpL1L2(op) %> + +<%=op%>_l1nl2m: +<%= global.setTypeDest("0x80"); %> +<%= global.fromMont_b() %> +<%= binOpL1L2(op) %> + +<%=op%>_l1ml2: + bt r9, 62 ; check if montgomery first + jc <%=op%>_l1ml2m +<%=op%>_l1ml2n: +<%= global.setTypeDest("0x80"); %> +<%= global.fromMont_a() %> +<%= binOpL1L2(op) %> + +<%=op%>_l1ml2m: +<%= global.setTypeDest("0x80"); %> +<%= global.fromMont_a() %> +<%= global.fromMont_b() %> +<%= binOpL1L2(op) %> +<% } %> + +<%= binOp("and") %> +<%= binOp("or") %> +<%= binOp("xor") %> + + diff --git a/c/buildasm/buildzqfield.js b/c/buildasm/buildzqfield.js new file mode 100644 index 0000000..9a2aeaf --- /dev/null +++ b/c/buildasm/buildzqfield.js @@ -0,0 +1,71 @@ +const bigInt=require("big-integer"); +const path = require("path"); +const util = require("util"); +const renderFile = util.promisify(require("ejs").renderFile); + +const runningAsScript = !module.parent; + + +class ZqBuilder { + constructor(q, name) { + const self = this; + this.q=bigInt(q); + this.n64 = Math.floor((this.q.bitLength() - 1) / 64)+1; + this.name = name; + this.bigInt = bigInt; + this.lastTmp=0; + this.global = {}; + this.global.tmpLabel = function() { + self.lastTmp++; + return "tmp"+self.lastTmp; + }; + } + + constantElement(v) { + let S = ""; + const mask = bigInt("FFFFFFFFFFFFFFFF", 16); + for (let i=0; i0) S = S+","; + let shex = v.shiftRight(i*64).and(mask).toString(16); + while (shex.length <16) shex = "0" + shex; + S = S + "0x" + shex; + } + return S; + } + +} + +async function buildField(q, name) { + const builder = new ZqBuilder(q, name); + + const asm = await renderFile(path.join(__dirname, "fr.asm.ejs"), builder); + const c = await renderFile(path.join(__dirname, "fr.c.ejs"), builder); + const h = await renderFile(path.join(__dirname, "fr.h.ejs"), builder); + + return {asm: asm, h: h, c: c}; +} + +if (runningAsScript) { + const fs = require("fs"); + var argv = require("yargs") + .usage("Usage: $0 -q [primeNum] -n [name] -oc [out .c file] -oh [out .h file]") + .demandOption(["q","n"]) + .alias("q", "prime") + .alias("n", "name") + .argv; + + const q = bigInt(argv.q); + + const asmFileName = (argv.oc) ? argv.oc : argv.name.toLowerCase() + ".asm"; + const hFileName = (argv.oc) ? argv.oc : argv.name.toLowerCase() + ".h"; + const cFileName = (argv.oc) ? argv.oc : argv.name.toLowerCase() + ".c"; + + buildField(q, argv.name).then( (res) => { + fs.writeFileSync(asmFileName, res.asm, "utf8"); + fs.writeFileSync(hFileName, res.h, "utf8"); + fs.writeFileSync(cFileName, res.c, "utf8"); + }); + +} else { + module.exports = buildField; +} diff --git a/c/buildasm/buildzqfieldtester.js b/c/buildasm/buildzqfieldtester.js new file mode 100644 index 0000000..8fdb1d6 --- /dev/null +++ b/c/buildasm/buildzqfieldtester.js @@ -0,0 +1,75 @@ +const chai = require("chai"); +const assert = chai.assert; + +const fs = require("fs"); +var tmp = require("tmp-promise"); +const path = require("path"); +const util = require("util"); +const exec = util.promisify(require("child_process").exec); + +const BuildZqField = require("./buildzqfield"); + +module.exports = testField; + +async function testField(prime, test) { + tmp.setGracefulCleanup(); + + const dir = await tmp.dir({prefix: "circom_", unsafeCleanup: true }); + + const source = await BuildZqField(prime, "Fr"); + + // console.log(dir.path); + + await fs.promises.writeFile(path.join(dir.path, "fr.asm"), source.asm, "utf8"); + await fs.promises.writeFile(path.join(dir.path, "fr.h"), source.h, "utf8"); + await fs.promises.writeFile(path.join(dir.path, "fr.c"), source.c, "utf8"); + + await exec(`cp ${path.join(__dirname, "tester.cpp")} ${dir.path}`); + + await exec("nasm -fmacho64 --prefix _ " + + ` ${path.join(dir.path, "fr.asm")}` + ); + + await exec("g++" + + ` ${path.join(dir.path, "tester.cpp")}` + + ` ${path.join(dir.path, "fr.o")}` + + ` ${path.join(dir.path, "fr.c")}` + + ` -o ${path.join(dir.path, "tester")}` + + " -lgmp" + ); + + const inLines = []; + for (let i=0; i${path.join(dir.path, "out.tst")}`); + + const res = await fs.promises.readFile(path.join(dir.path, "out.tst"), "utf8"); + const resLines = res.split("\n"); + + for (let i=0; i + mov qword [rdi], 1 + add rsp, <%= (n64+1)*8 %> + ret +<% } %> + +<% function retZero() { %> + mov qword [rdi], 0 + add rsp, <%= (n64+1)*8 %> + ret +<% } %> + +<% function cmpLong(op, eq) { %> + +<% + if (eq==true) { + if (["leq","geq"].indexOf(op) >= 0) retOne(); + if (["lt","gt"].indexOf(op) >= 0) retZero(); + } +%> + + +<% const label_gt = global.tmpLabel() %> +<% const label_lt = global.tmpLabel() %> +<% for (let i=n64-1; i>=0; i--) { %> + mov rax, [rsp + <%= 8+(i*8) %>] + cmp [half + <%= (i*8) %>], rax ; comare with (q-1)/2 + jc <%=label_lt%> ; half e1-e2 is neg => e1 < e2 + jnz <%=label_gt%> ; half>rax => e1 -e2 is pos => e1 > e2 +<% } %> + ; half == rax => e1-e2 is pos => e1 > e2 +<%=label_gt%>: +<% if (["geq","gt"].indexOf(op) >= 0) retOne(); else retZero(); %> +<%=label_lt%>: +<% if (["leq","lt"].indexOf(op) >= 0) retOne(); else retZero(); %> +<% } // cmpLong%> + +<% function cmpOp(op) { %> +;;;;;;;;;;;;;;;;;;;;;; +; <%= op %> +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_<%=op%>: + sub rsp, <%= (n64+1)*8 %> ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call <%=name%>_sub ; Do a substraction + call <%=name%>_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc <%=op%>_longCmp + +<%=op%>_shortCmp: + cmp eax, 0 + je <%=op%>_s_eq + js <%=op%>_s_lt +<%=op%>_s_gt: +<% if (["geq","gt", "neq"].indexOf(op) >= 0) retOne(); else retZero(); %> +<%=op%>_s_lt: +<% if (["leq","lt", "neq"].indexOf(op) >= 0) retOne(); else retZero(); %> +<%=op%>_s_eq: +<% if (["eq","geq", "leq"].indexOf(op) >= 0) retOne(); else retZero(); %> + +<%=op%>_longCmp: + +<% for (let i=n64-1; i>=0; i--) { %> + cmp qword [rsp + <%= 8+(i*8) %>], 0 + jnz <%=op%>_neq +<% } %> +<%=op%>_eq: +<% if (op == "eq") { + retOne(); + } else if (op == "neq") { + retZero(); + } else { + cmpLong(op, true); + } +%> +<%=op%>_neq: +<% if (op == "neq") { + retOne(); + } else if (op == "eq") { + retZero(); + } else { + cmpLong(op, false); + } +%> + + +<% } %> + +<%= cmpOp("eq") %> +<%= cmpOp("neq") %> +<%= cmpOp("lt") %> +<%= cmpOp("gt") %> +<%= cmpOp("leq") %> +<%= cmpOp("geq") %> + diff --git a/c/buildasm/copy.asm.ejs b/c/buildasm/copy.asm.ejs new file mode 100644 index 0000000..d8e3abe --- /dev/null +++ b/c/buildasm/copy.asm.ejs @@ -0,0 +1,39 @@ + +;;;;;;;;;;;;;;;;;;;;;; +; rawCopyS2L +;;;;;;;;;;;;;;;;;;;;;; +; Convert a 64 bit integer to a long format field element +; Params: +; rsi <= the integer +; rdi <= Pointer to the overwritted element +; +; Nidified registers: +; rax +;;;;;;;;;;;;;;;;;;;;;;; + +rawCopyS2L: + mov al, 0x80 + shl rax, 56 + mov [rdi], rax ; set the result to LONG normal + + cmp rsi, 0 + js u64toLong_adjust_neg + + mov [rdi + 8], rsi + xor rax, rax +<% for (let i=1; i + mov [rdi + <%= 8+i*8 %>], rax +<% } %> + ret + +u64toLong_adjust_neg: + add rsi, [q] ; Set the first digit + mov [rdi + 8], rsi ; + + mov rsi, -1 ; all ones +<% for (let i=1; i + mov rax, rsi ; Add to q + adc rax, [q + <%= i*8 %> ] + mov [rdi + <%= (i+1)*8 %>], rax +<% } %> + ret diff --git a/c/buildasm/fr.asm b/c/buildasm/fr.asm new file mode 100644 index 0000000..201a730 --- /dev/null +++ b/c/buildasm/fr.asm @@ -0,0 +1,4854 @@ + + + global Fr_add + global Fr_sub + global Fr_neg + global Fr_mul + global Fr_band + global Fr_bor + global Fr_bxor + global Fr_eq + global Fr_neq + global Fr_lt + global Fr_gt + global Fr_leq + global Fr_geq + global Fr_toNormal + global Fr_toMontgomery + global Fr_q + DEFAULT REL + + section .text + + + + + + + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawCopyS2L +;;;;;;;;;;;;;;;;;;;;;; +; Convert a 64 bit integer to a long format field element +; Params: +; rsi <= the integer +; rdi <= Pointer to the overwritted element +; +; Nidified registers: +; rax +;;;;;;;;;;;;;;;;;;;;;;; + +rawCopyS2L: + mov al, 0x80 + shl rax, 56 + mov [rdi], rax ; set the result to LONG normal + + cmp rsi, 0 + js u64toLong_adjust_neg + + mov [rdi + 8], rsi + xor rax, rax + + mov [rdi + 16], rax + + mov [rdi + 24], rax + + mov [rdi + 32], rax + + ret + +u64toLong_adjust_neg: + add rsi, [q] ; Set the first digit + mov [rdi + 8], rsi ; + + mov rsi, -1 ; all ones + + mov rax, rsi ; Add to q + adc rax, [q + 8 ] + mov [rdi + 16], rax + + mov rax, rsi ; Add to q + adc rax, [q + 16 ] + mov [rdi + 24], rax + + mov rax, rsi ; Add to q + adc rax, [q + 24 ] + mov [rdi + 32], rax + + ret + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawMontgomeryMul +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= Pointer to the long data of element 2 +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; + +rawMontgomeryMul: + sub rsp, 32 ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0xc2e1f593efffffff ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 + + mov rax, [rsi + 0] + mul qword [rcx + 0] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + + + mov rax, r8 + mul r11 + mov [rsp + 0], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsi + 0] + mul qword [rcx + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsi + 8] + mul qword [rcx + 0] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, [rsp + 0] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, r9 + mul r11 + mov [rsp + 8], rax + mul qword [q] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, [rsi + 0] + mul qword [rcx + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsi + 8] + mul qword [rcx + 8] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsi + 16] + mul qword [rcx + 0] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, [rsp + 8] + mul qword [q + 8] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, r10 + mul r11 + mov [rsp + 16], rax + mul qword [q] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, [rsi + 0] + mul qword [rcx + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsi + 8] + mul qword [rcx + 16] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsi + 16] + mul qword [rcx + 8] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsi + 24] + mul qword [rcx + 0] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsp + 16] + mul qword [q + 8] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 16] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, r8 + mul r11 + mov [rsp + 24], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsi + 8] + mul qword [rcx + 24] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsi + 16] + mul qword [rcx + 16] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsi + 24] + mul qword [rcx + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, [rsp + 24] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 16] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 24] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov [rdi + 0 ], r9 + xor r9,r9 + + + + mov rax, [rsi + 16] + mul qword [rcx + 24] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsi + 24] + mul qword [rcx + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, [rsp + 24] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 24] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov [rdi + 8 ], r10 + xor r10,r10 + + + + mov rax, [rsi + 24] + mul qword [rcx + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsp + 24] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov [rdi + 16 ], r8 + xor r8,r8 + + + + + + + + mov [rdi + 24 ], r9 + xor r9,r9 + + + + test r10, r10 + jnz rawMontgomeryMul_mulM_sq + ; Compare with q + + mov rax, [rdi + 24] + cmp rax, [q + 24] + jc rawMontgomeryMul_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul_mulM_sq ; q is lower + + mov rax, [rdi + 16] + cmp rax, [q + 16] + jc rawMontgomeryMul_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul_mulM_sq ; q is lower + + mov rax, [rdi + 8] + cmp rax, [q + 8] + jc rawMontgomeryMul_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul_mulM_sq ; q is lower + + mov rax, [rdi + 0] + cmp rax, [q + 0] + jc rawMontgomeryMul_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul_mulM_sq ; q is lower + + ; If equal substract q + +rawMontgomeryMul_mulM_sq: + + mov rax, [q + 0] + sub [rdi + 0], rax + + mov rax, [q + 8] + sbb [rdi + 8], rax + + mov rax, [q + 16] + sbb [rdi + 16], rax + + mov rax, [q + 24] + sbb [rdi + 24], rax + + +rawMontgomeryMul_mulM_done: + mov rdx, rcx ; recover rdx to its original place. + add rsp, 32 ; recover rsp + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawMontgomeryMul1 +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= second operand +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; + +rawMontgomeryMul1: + sub rsp, 32 ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0xc2e1f593efffffff ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 + + mov rax, [rsi + 0] + mul rcx + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + + + mov rax, r8 + mul r11 + mov [rsp + 0], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsi + 8] + mul rcx + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, [rsp + 0] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, r9 + mul r11 + mov [rsp + 8], rax + mul qword [q] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, [rsi + 16] + mul rcx + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, [rsp + 8] + mul qword [q + 8] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, r10 + mul r11 + mov [rsp + 16], rax + mul qword [q] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, [rsi + 24] + mul rcx + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, [rsp + 16] + mul qword [q + 8] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 16] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, r8 + mul r11 + mov [rsp + 24], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + + + mov rax, [rsp + 24] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 16] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 24] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov [rdi + 0 ], r9 + xor r9,r9 + + + + + + mov rax, [rsp + 24] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 24] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov [rdi + 8 ], r10 + xor r10,r10 + + + + + + mov rax, [rsp + 24] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov [rdi + 16 ], r8 + xor r8,r8 + + + + + + + + mov [rdi + 24 ], r9 + xor r9,r9 + + + + test r10, r10 + jnz rawMontgomeryMul1_mulM_sq + ; Compare with q + + mov rax, [rdi + 24] + cmp rax, [q + 24] + jc rawMontgomeryMul1_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul1_mulM_sq ; q is lower + + mov rax, [rdi + 16] + cmp rax, [q + 16] + jc rawMontgomeryMul1_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul1_mulM_sq ; q is lower + + mov rax, [rdi + 8] + cmp rax, [q + 8] + jc rawMontgomeryMul1_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul1_mulM_sq ; q is lower + + mov rax, [rdi + 0] + cmp rax, [q + 0] + jc rawMontgomeryMul1_mulM_done ; q is bigget so done. + jnz rawMontgomeryMul1_mulM_sq ; q is lower + + ; If equal substract q + +rawMontgomeryMul1_mulM_sq: + + mov rax, [q + 0] + sub [rdi + 0], rax + + mov rax, [q + 8] + sbb [rdi + 8], rax + + mov rax, [q + 16] + sbb [rdi + 16], rax + + mov rax, [q + 24] + sbb [rdi + 24], rax + + +rawMontgomeryMul1_mulM_done: + mov rdx, rcx ; recover rdx to its original place. + add rsp, 32 ; recover rsp + ret + + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawFromMontgomery +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; + +rawFromMontgomery: + sub rsp, 32 ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0xc2e1f593efffffff ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 + + add r8, [rdi + 0] + adc r9, 0x0 + adc r10, 0x0 + + + + + + mov rax, r8 + mul r11 + mov [rsp + 0], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + add r9, [rdi + 8] + adc r10, 0x0 + adc r8, 0x0 + + + + mov rax, [rsp + 0] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov rax, r9 + mul r11 + mov [rsp + 8], rax + mul qword [q] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + add r10, [rdi + 16] + adc r8, 0x0 + adc r9, 0x0 + + + + mov rax, [rsp + 8] + mul qword [q + 8] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov rax, r10 + mul r11 + mov [rsp + 16], rax + mul qword [q] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + add r8, [rdi + 24] + adc r9, 0x0 + adc r10, 0x0 + + + + mov rax, [rsp + 16] + mul qword [q + 8] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 16] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + mov rax, [rsp + 0] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov rax, r8 + mul r11 + mov [rsp + 24], rax + mul qword [q] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + + + mov rax, [rsp + 24] + mul qword [q + 8] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 16] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + mov rax, [rsp + 8] + mul qword [q + 24] + add r9, rax + adc r10, rdx + adc r8, 0x0 + + + + mov [rdi + 0 ], r9 + xor r9,r9 + + + + + + mov rax, [rsp + 24] + mul qword [q + 16] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + mov rax, [rsp + 16] + mul qword [q + 24] + add r10, rax + adc r8, rdx + adc r9, 0x0 + + + + mov [rdi + 8 ], r10 + xor r10,r10 + + + + + + mov rax, [rsp + 24] + mul qword [q + 24] + add r8, rax + adc r9, rdx + adc r10, 0x0 + + + + mov [rdi + 16 ], r8 + xor r8,r8 + + + + + + + + mov [rdi + 24 ], r9 + xor r9,r9 + + + + test r10, r10 + jnz rawFromMontgomery_mulM_sq + ; Compare with q + + mov rax, [rdi + 24] + cmp rax, [q + 24] + jc rawFromMontgomery_mulM_done ; q is bigget so done. + jnz rawFromMontgomery_mulM_sq ; q is lower + + mov rax, [rdi + 16] + cmp rax, [q + 16] + jc rawFromMontgomery_mulM_done ; q is bigget so done. + jnz rawFromMontgomery_mulM_sq ; q is lower + + mov rax, [rdi + 8] + cmp rax, [q + 8] + jc rawFromMontgomery_mulM_done ; q is bigget so done. + jnz rawFromMontgomery_mulM_sq ; q is lower + + mov rax, [rdi + 0] + cmp rax, [q + 0] + jc rawFromMontgomery_mulM_done ; q is bigget so done. + jnz rawFromMontgomery_mulM_sq ; q is lower + + ; If equal substract q + +rawFromMontgomery_mulM_sq: + + mov rax, [q + 0] + sub [rdi + 0], rax + + mov rax, [q + 8] + sbb [rdi + 8], rax + + mov rax, [q + 16] + sbb [rdi + 16], rax + + mov rax, [q + 24] + sbb [rdi + 24], rax + + +rawFromMontgomery_mulM_done: + mov rdx, rcx ; recover rdx to its original place. + add rsp, 32 ; recover rsp + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; toMontgomery +;;;;;;;;;;;;;;;;;;;;;; +; Convert a number to Montgomery +; rdi <= Pointer element to convert +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;; +Fr_toMontgomery: + mov rax, [rdi] + bts rax, 62 ; check if montgomery + jc toMontgomery_doNothing + bts rax, 63 + jc toMontgomeryLong + +toMontgomeryShort: + mov [rdi], rax + add rdi, 8 + push rsi + lea rsi, [R2] + movsx rdx, eax + cmp rdx, 0 + js negMontgomeryShort +posMontgomeryShort: + call rawMontgomeryMul1 + pop rsi + sub rdi, 8 + ret + +negMontgomeryShort: + neg rdx ; Do the multiplication positive and then negate the result. + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + pop rsi + sub rdi, 8 + ret + + +toMontgomeryLong: + mov [rdi], rax + add rdi, 8 + push rsi + mov rdx, rdi + lea rsi, [R2] + call rawMontgomeryMul + pop rsi + sub rdi, 8 + +toMontgomery_doNothing: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; toNormal +;;;;;;;;;;;;;;;;;;;;;; +; Convert a number from Montgomery +; rdi <= Pointer element to convert +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;; +Fr_toNormal: + mov rax, [rdi] + btc rax, 62 ; check if montgomery + jnc fromMontgomery_doNothing + bt rax, 63 ; if short, it means it's converted + jnc fromMontgomery_doNothing + +fromMontgomeryLong: + mov [rdi], rax + add rdi, 8 + call rawFromMontgomery + sub rdi, 8 + +fromMontgomery_doNothing: + ret + + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; add +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_add: + mov rax, [rsi] + mov rcx, [rdx] + bt rax, 63 ; Check if is short first operand + jc add_l1 + bt rcx, 63 ; Check if is short second operand + jc add_s1l2 + +add_s1s2: ; Both operands are short + + xor rdx, rdx + mov edx, eax + add edx, ecx + jo add_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +add_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + movsx rdx, ecx + add rsi, rdx + call rawCopyS2L + pop rsi + ret + +add_l1: + bt rcx, 63 ; Check if is short second operand + jc add_l1l2 + +;;;;;;;; +add_l1s2: + bt rax, 62 ; check if montgomery first + jc add_l1ms2 +add_l1ns2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rsi, 8 + movsx rdx, ecx + add rdi, 8 + cmp rdx, 0 + + jns tmp1 + neg rdx + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret +tmp1: + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret + + + +add_l1ms2: + bt rcx, 62 ; check if montgomery second + jc add_l1ms2m +add_l1ms2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toMontgomery + mov rdx, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +add_l1ms2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + + +;;;;;;;; +add_s1l2: + bt rcx, 62 ; check if montgomery first + jc add_s1l2m +add_s1l2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + lea rsi, [rdx + 8] + movsx rdx, eax + add rdi, 8 + cmp rdx, 0 + + jns tmp2 + neg rdx + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret +tmp2: + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret + + +add_s1l2m: + bt rax, 62 ; check if montgomery second + jc add_s1ml2m +add_s1nl2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toMontgomery + mov rdx, rsi + mov rsi, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +add_s1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +;;;; +add_l1l2: + bt rax, 62 ; check if montgomery first + jc add_l1ml2 +add_l1nl2: + bt rcx, 62 ; check if montgomery second + jc add_l1nl2m +add_l1nl2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +add_l1nl2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toMontgomery + mov rdx, rsi + mov rsi, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +add_l1ml2: + bt rcx, 62 ; check if montgomery seconf + jc add_l1ml2m +add_l1ml2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toMontgomery + mov rdx, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + +add_l1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawAddLL + sub rdi, 8 + sub rsi, 8 + ret + + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawAddLL +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of type long +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= Pointer to the long data of element 2 +; rdi <= Pointer to the long data of result +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawAddLL: + ; Add component by component with carry + + mov rax, [rsi + 0] + add rax, [rdx + 0] + mov [rdi + 0], rax + + mov rax, [rsi + 8] + adc rax, [rdx + 8] + mov [rdi + 8], rax + + mov rax, [rsi + 16] + adc rax, [rdx + 16] + mov [rdi + 16], rax + + mov rax, [rsi + 24] + adc rax, [rdx + 24] + mov [rdi + 24], rax + + jc rawAddLL_sq ; if overflow, substract q + + ; Compare with q + + + cmp rax, [q + 24] + jc rawAddLL_done ; q is bigget so done. + jnz rawAddLL_sq ; q is lower + + + mov rax, [rdi + 16] + + cmp rax, [q + 16] + jc rawAddLL_done ; q is bigget so done. + jnz rawAddLL_sq ; q is lower + + + mov rax, [rdi + 8] + + cmp rax, [q + 8] + jc rawAddLL_done ; q is bigget so done. + jnz rawAddLL_sq ; q is lower + + + mov rax, [rdi + 0] + + cmp rax, [q + 0] + jc rawAddLL_done ; q is bigget so done. + jnz rawAddLL_sq ; q is lower + + ; If equal substract q +rawAddLL_sq: + + mov rax, [q + 0] + sub [rdi + 0], rax + + mov rax, [q + 8] + sbb [rdi + 8], rax + + mov rax, [q + 16] + sbb [rdi + 16], rax + + mov rax, [q + 24] + sbb [rdi + 24], rax + +rawAddLL_done: + ret + + +;;;;;;;;;;;;;;;;;;;;;; +; rawAddLS +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of type long +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 +; rdx <= Value to be added +;;;;;;;;;;;;;;;;;;;;;; +rawAddLS: + ; Add component by component with carry + + add rdx, [rsi] + mov [rdi] ,rdx + + mov rdx, 0 + adc rdx, [rsi + 8] + mov [rdi + 8], rdx + + mov rdx, 0 + adc rdx, [rsi + 16] + mov [rdi + 16], rdx + + mov rdx, 0 + adc rdx, [rsi + 24] + mov [rdi + 24], rdx + + jc rawAddLS_sq ; if overflow, substract q + + ; Compare with q + + mov rax, [rdi + 24] + cmp rax, [q + 24] + jc rawAddLS_done ; q is bigget so done. + jnz rawAddLS_sq ; q is lower + + mov rax, [rdi + 16] + cmp rax, [q + 16] + jc rawAddLS_done ; q is bigget so done. + jnz rawAddLS_sq ; q is lower + + mov rax, [rdi + 8] + cmp rax, [q + 8] + jc rawAddLS_done ; q is bigget so done. + jnz rawAddLS_sq ; q is lower + + mov rax, [rdi + 0] + cmp rax, [q + 0] + jc rawAddLS_done ; q is bigget so done. + jnz rawAddLS_sq ; q is lower + + ; If equal substract q +rawAddLS_sq: + + mov rax, [q + 0] + sub [rdi + 0], rax + + mov rax, [q + 8] + sbb [rdi + 8], rax + + mov rax, [q + 16] + sbb [rdi + 16], rax + + mov rax, [q + 24] + sbb [rdi + 24], rax + +rawAddLS_done: + ret + + + + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; sub +;;;;;;;;;;;;;;;;;;;;;; +; Substracts two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_sub: + mov rax, [rsi] + mov rcx, [rdx] + bt rax, 63 ; Check if is long first operand + jc sub_l1 + bt rcx, 63 ; Check if is long second operand + jc sub_s1l2 + +sub_s1s2: ; Both operands are short + + xor rdx, rdx + mov edx, eax + sub edx, ecx + jo sub_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +sub_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + movsx rdx, ecx + sub rsi, rdx + call rawCopyS2L + pop rsi + ret + +sub_l1: + bt rcx, 63 ; Check if is short second operand + jc sub_l1l2 + +;;;;;;;; +sub_l1s2: + bt rax, 62 ; check if montgomery first + jc sub_l1ms2 +sub_l1ns2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rsi, 8 + movsx rdx, ecx + add rdi, 8 + cmp rdx, 0 + + jns tmp3 + neg rdx + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret +tmp3: + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret + + +sub_l1ms2: + bt rcx, 62 ; check if montgomery second + jc sub_l1ms2m +sub_l1ms2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toMontgomery + mov rdx, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +sub_l1ms2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + + +;;;;;;;; +sub_s1l2: + bt rcx, 62 ; check if montgomery first + jc sub_s1l2m +sub_s1l2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp eax, 0 + + js tmp4 + + ; First Operand is positive + push rsi + add rdi, 8 + movsx rsi, eax + add rdx, 8 + call rawSubSL + sub rdi, 8 + pop rsi + ret + +tmp4: ; First operand is negative + push rsi + lea rsi, [rdx + 8] + movsx rdx, eax + add rdi, 8 + neg rdx + call rawNegLS + sub rdi, 8 + pop rsi + ret + + +sub_s1l2m: + bt rax, 62 ; check if montgomery second + jc sub_s1ml2m +sub_s1nl2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toMontgomery + mov rdx, rsi + mov rsi, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +sub_s1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +;;;; +sub_l1l2: + bt rax, 62 ; check if montgomery first + jc sub_l1ml2 +sub_l1nl2: + bt rcx, 62 ; check if montgomery second + jc sub_l1nl2m +sub_l1nl2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +sub_l1nl2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toMontgomery + mov rdx, rsi + mov rsi, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +sub_l1ml2: + bt rcx, 62 ; check if montgomery seconf + jc sub_l1ml2m +sub_l1ml2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toMontgomery + mov rdx, rdi + pop rdi + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + +sub_l1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubLS +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a short element from the long element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 where will be substracted +; rdx <= Value to be substracted +; [rdi] = [rsi] - rdx +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubLS: + ; Substract first digit + + mov rax, [rsi] + sub rax, rdx + mov [rdi] ,rax + mov rdx, 0 + + mov rax, [rsi + 8] + sbb rax, rdx + mov [rdi + 8], rax + + mov rax, [rsi + 16] + sbb rax, rdx + mov [rdi + 16], rax + + mov rax, [rsi + 24] + sbb rax, rdx + mov [rdi + 24], rax + + jnc rawSubLS_done ; if overflow, add q + + ; Add q +rawSubLS_aq: + + mov rax, [q + 0] + add [rdi + 0], rax + + mov rax, [q + 8] + adc [rdi + 8], rax + + mov rax, [q + 16] + adc [rdi + 16], rax + + mov rax, [q + 24] + adc [rdi + 24], rax + +rawSubLS_done: + ret + + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubSL +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element from a short element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Value from where will bo substracted +; rdx <= Pointer to long of the value to be substracted +; +; [rdi] = rsi - [rdx] +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubSL: + ; Substract first digit + sub rsi, [rdx] + mov [rdi] ,rsi + + + mov rax, 0 + sbb rax, [rdx + 8] + mov [rdi + 8], rax + + mov rax, 0 + sbb rax, [rdx + 16] + mov [rdi + 16], rax + + mov rax, 0 + sbb rax, [rdx + 24] + mov [rdi + 24], rax + + jnc rawSubSL_done ; if overflow, add q + + ; Add q +rawSubSL_aq: + + mov rax, [q + 0] + add [rdi + 0], rax + + mov rax, [q + 8] + adc [rdi + 8], rax + + mov rax, [q + 16] + adc [rdi + 16], rax + + mov rax, [q + 24] + adc [rdi + 24], rax + +rawSubSL_done: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubLL +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element from a short element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to long from where substracted +; rdx <= Pointer to long of the value to be substracted +; +; [rdi] = [rsi] - [rdx] +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubLL: + ; Substract first digit + + mov rax, [rsi + 0] + sub rax, [rdx + 0] + mov [rdi + 0], rax + + mov rax, [rsi + 8] + sbb rax, [rdx + 8] + mov [rdi + 8], rax + + mov rax, [rsi + 16] + sbb rax, [rdx + 16] + mov [rdi + 16], rax + + mov rax, [rsi + 24] + sbb rax, [rdx + 24] + mov [rdi + 24], rax + + jnc rawSubLL_done ; if overflow, add q + + ; Add q +rawSubLL_aq: + + mov rax, [q + 0] + add [rdi + 0], rax + + mov rax, [q + 8] + adc [rdi + 8], rax + + mov rax, [q + 16] + adc [rdi + 16], rax + + mov rax, [q + 24] + adc [rdi + 24], rax + +rawSubLL_done: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; rawNegLS +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element and a short element form 0 +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to long from where substracted +; rdx <= short value to be substracted too +; +; [rdi] = -[rsi] - rdx +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawNegLS: + mov rax, [q] + sub rax, rdx + mov [rdi], rax + + mov rax, [q + 8 ] + sbb rax, 0 + mov [rdi + 8], rax + + mov rax, [q + 16 ] + sbb rax, 0 + mov [rdi + 16], rax + + mov rax, [q + 24 ] + sbb rax, 0 + mov [rdi + 24], rax + + setc dl + + + mov rax, [rdi + 0 ] + sub rax, [rsi + 0] + mov [rdi + 0], rax + + mov rax, [rdi + 8 ] + sbb rax, [rsi + 8] + mov [rdi + 8], rax + + mov rax, [rdi + 16 ] + sbb rax, [rsi + 16] + mov [rdi + 16], rax + + mov rax, [rdi + 24 ] + sbb rax, [rsi + 24] + mov [rdi + 24], rax + + + setc dh + or dl, dh + jz rawNegSL_done + + ; it is a negative value, so add q + + mov rax, [q + 0] + add [rdi + 0], rax + + mov rax, [q + 8] + adc [rdi + 8], rax + + mov rax, [q + 16] + adc [rdi + 16], rax + + mov rax, [q + 24] + adc [rdi + 24], rax + + +rawNegSL_done: + ret + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; neg +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element to be negated +; rdi <= Pointer to result +; [rdi] = -[rsi] +;;;;;;;;;;;;;;;;;;;;;; +Fr_neg: + mov rax, [rsi] + bt rax, 63 ; Check if is short first operand + jc neg_l + +neg_s: ; Operand is short + + neg eax + jo neg_manageOverflow ; Check if overflow. (0x80000000 is the only case) + + mov [rdi], rax ; not necessary to adjust so just save and return + ret + +neg_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + neg rsi + call rawCopyS2L + pop rsi + ret + + + +neg_l: + mov [rdi], rax ; Copy the type + + add rdi, 8 + add rsi, 8 + call rawNegL + sub rdi, 8 + sub rsi, 8 + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; rawNeg +;;;;;;;;;;;;;;;;;;;;;; +; Negates a value +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 +; +; [rdi] = - [rsi] +;;;;;;;;;;;;;;;;;;;;;; +rawNegL: + ; Compare is zero + + xor rax, rax + + cmp [rsi + 0], rax + jnz doNegate + + cmp [rsi + 8], rax + jnz doNegate + + cmp [rsi + 16], rax + jnz doNegate + + cmp [rsi + 24], rax + jnz doNegate + + ; it's zero so just set to zero + + mov [rdi + 0], rax + + mov [rdi + 8], rax + + mov [rdi + 16], rax + + mov [rdi + 24], rax + + ret +doNegate: + + mov rax, [q + 0] + sub rax, [rsi + 0] + mov [rdi + 0], rax + + mov rax, [q + 8] + sbb rax, [rsi + 8] + mov [rdi + 8], rax + + mov rax, [q + 16] + sbb rax, [rsi + 16] + mov [rdi + 16], rax + + mov rax, [q + 24] + sbb rax, [rsi + 24] + mov [rdi + 24], rax + + ret + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; mul +;;;;;;;;;;;;;;;;;;;;;; +; Multiplies two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; [rdi] = [rsi] * [rdi] +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_mul: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc mul_l1 + bt r9, 63 ; Check if is short second operand + jc mul_s1l2 + +mul_s1s2: ; Both operands are short + + xor rax, rax + mov eax, r8d + imul r9d + jo mul_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rax ; not necessary to adjust so just save and return + +mul_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rax, r8d + movsx rcx, r9d + imul rcx + mov rsi, rax + call rawCopyS2L + pop rsi + + ret + +mul_l1: + bt r9, 63 ; Check if is short second operand + jc mul_l1l2 + +;;;;;;;; +mul_l1s2: + bt r8, 62 ; check if montgomery first + jc mul_l1ms2 +mul_l1ns2: + bt r9, 62 ; check if montgomery first + jc mul_l1ns2m +mul_l1ns2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + push rsi + add rsi, 8 + movsx rdx, r9d + add rdi, 8 + cmp rdx, 0 + + jns tmp5 + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + + jmp tmp6 +tmp5: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +tmp6: + + + + push rsi + add rdi, 8 + mov rsi, rdi + lea rdx, [R3] + call rawMontgomeryMul + sub rdi, 8 + pop rsi + + ret + + +mul_l1ns2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + + +mul_l1ms2: + bt r9, 62 ; check if montgomery second + jc mul_l1ms2m +mul_l1ms2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + push rsi + add rsi, 8 + movsx rdx, r9d + add rdi, 8 + cmp rdx, 0 + + jns tmp7 + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + + jmp tmp8 +tmp7: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +tmp8: + + + ret + +mul_l1ms2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + + +;;;;;;;; +mul_s1l2: + bt r8, 62 ; check if montgomery first + jc mul_s1ml2 +mul_s1nl2: + bt r9, 62 ; check if montgomery first + jc mul_s1nl2m +mul_s1nl2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + push rsi + lea rsi, [rdx + 8] + movsx rdx, r8d + add rdi, 8 + cmp rdx, 0 + + jns tmp9 + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + + jmp tmp10 +tmp9: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +tmp10: + + + + push rsi + add rdi, 8 + mov rsi, rdi + lea rdx, [R3] + call rawMontgomeryMul + sub rdi, 8 + pop rsi + + ret + +mul_s1nl2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + push rsi + lea rsi, [rdx + 8] + movsx rdx, r8d + add rdi, 8 + cmp rdx, 0 + + jns tmp11 + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + + jmp tmp12 +tmp11: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +tmp12: + + + ret + +mul_s1ml2: + bt r9, 62 ; check if montgomery first + jc mul_s1ml2m +mul_s1ml2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + +mul_s1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + +;;;; +mul_l1l2: + bt r8, 62 ; check if montgomery first + jc mul_l1ml2 +mul_l1nl2: + bt r9, 62 ; check if montgomery second + jc mul_l1nl2m +mul_l1nl2n: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + + push rsi + add rdi, 8 + mov rsi, rdi + lea rdx, [R3] + call rawMontgomeryMul + sub rdi, 8 + pop rsi + + ret + +mul_l1nl2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + +mul_l1ml2: + bt r9, 62 ; check if montgomery seconf + jc mul_l1ml2m +mul_l1ml2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + +mul_l1ml2m: + mov r11b, 0xC0 + shl r11, 56 + mov [rdi], r11 + + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 + + ret + + + + + + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; and +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_band: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc and_l1 + bt r9, 63 ; Check if is short second operand + jc and_s1l2 + +and_s1s2: + + cmp r8d, 0 + + js tmp13 + + cmp r9d, 0 + js tmp13 + xor rdx, rdx ; both ops are positive so do the op and return + mov edx, r8d + and edx, r9d + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +tmp13: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + + +and_l1: + bt r9, 63 ; Check if is short second operand + jc and_l1l2 + + +and_l1s2: + bt r8, 62 ; check if montgomery first + jc and_l1ms2 +and_l1ns2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r9d, 0 + + js tmp14 + movsx rax, r9d + and rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + and rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + and rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + and rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp14: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +and_l1ms2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r9 ; r9 is used in montgomery so we need to save it + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + pop r9 + + cmp r9d, 0 + + js tmp15 + movsx rax, r9d + and rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + and rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + and rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + and rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp15: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +and_s1l2: + bt r9, 62 ; check if montgomery first + jc and_s1l2m +and_s1l2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r8d, 0 + + js tmp16 + movsx rax, r8d + and rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp16: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +and_s1l2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r8 ; r8 is used in montgomery so we need to save it + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + pop r8 + + cmp r8d, 0 + + js tmp17 + movsx rax, r8d + and rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp17: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +and_l1l2: + bt r8, 62 ; check if montgomery first + jc and_l1ml2 + bt r9, 62 ; check if montgomery first + jc and_l1nl2m +and_l1nl2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +and_l1nl2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +and_l1ml2: + bt r9, 62 ; check if montgomery first + jc and_l1ml2m +and_l1ml2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +and_l1ml2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + and rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + and rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + and rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + and rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; or +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_bor: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc or_l1 + bt r9, 63 ; Check if is short second operand + jc or_s1l2 + +or_s1s2: + + cmp r8d, 0 + + js tmp18 + + cmp r9d, 0 + js tmp18 + xor rdx, rdx ; both ops are positive so do the op and return + mov edx, r8d + or edx, r9d + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +tmp18: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + + +or_l1: + bt r9, 63 ; Check if is short second operand + jc or_l1l2 + + +or_l1s2: + bt r8, 62 ; check if montgomery first + jc or_l1ms2 +or_l1ns2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r9d, 0 + + js tmp19 + movsx rax, r9d + or rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + or rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + or rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + or rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp19: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +or_l1ms2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r9 ; r9 is used in montgomery so we need to save it + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + pop r9 + + cmp r9d, 0 + + js tmp20 + movsx rax, r9d + or rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + or rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + or rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + or rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp20: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +or_s1l2: + bt r9, 62 ; check if montgomery first + jc or_s1l2m +or_s1l2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r8d, 0 + + js tmp21 + movsx rax, r8d + or rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp21: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +or_s1l2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r8 ; r8 is used in montgomery so we need to save it + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + pop r8 + + cmp r8d, 0 + + js tmp22 + movsx rax, r8d + or rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp22: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +or_l1l2: + bt r8, 62 ; check if montgomery first + jc or_l1ml2 + bt r9, 62 ; check if montgomery first + jc or_l1nl2m +or_l1nl2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +or_l1nl2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +or_l1ml2: + bt r9, 62 ; check if montgomery first + jc or_l1ml2m +or_l1ml2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +or_l1ml2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + or rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + or rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + or rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + or rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + +;;;;;;;;;;;;;;;;;;;;;; +; xor +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_bxor: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc xor_l1 + bt r9, 63 ; Check if is short second operand + jc xor_s1l2 + +xor_s1s2: + + cmp r8d, 0 + + js tmp23 + + cmp r9d, 0 + js tmp23 + xor rdx, rdx ; both ops are positive so do the op and return + mov edx, r8d + xor edx, r9d + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +tmp23: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + + +xor_l1: + bt r9, 63 ; Check if is short second operand + jc xor_l1l2 + + +xor_l1s2: + bt r8, 62 ; check if montgomery first + jc xor_l1ms2 +xor_l1ns2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r9d, 0 + + js tmp24 + movsx rax, r9d + xor rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + xor rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + xor rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + xor rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp24: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +xor_l1ms2: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r9 ; r9 is used in montgomery so we need to save it + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + pop r9 + + cmp r9d, 0 + + js tmp25 + movsx rax, r9d + xor rax, [rsi +8] + mov [rdi+8], rax + + xor rax, rax + xor rax, [rsi + 16]; + + mov [rdi + 16 ], rax; + + xor rax, rax + xor rax, [rsi + 24]; + + mov [rdi + 24 ], rax; + + xor rax, rax + xor rax, [rsi + 32]; + + and rax, [lboMask] ; + + mov [rdi + 32 ], rax; + + ret + +tmp25: + push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +xor_s1l2: + bt r9, 62 ; check if montgomery first + jc xor_s1l2m +xor_s1l2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + cmp r8d, 0 + + js tmp26 + movsx rax, r8d + xor rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp26: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + +xor_s1l2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push r8 ; r8 is used in montgomery so we need to save it + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + pop r8 + + cmp r8d, 0 + + js tmp27 + movsx rax, r8d + xor rax, [rdx +8] + mov [rdi+8], rax + + xor rax, rax + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + xor rax, rax + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + xor rax, rax + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + +tmp27: + push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + +xor_l1l2: + bt r8, 62 ; check if montgomery first + jc xor_l1ml2 + bt r9, 62 ; check if montgomery first + jc xor_l1nl2m +xor_l1nl2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +xor_l1nl2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +xor_l1ml2: + bt r9, 62 ; check if montgomery first + jc xor_l1ml2m +xor_l1ml2n: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + +xor_l1ml2m: + mov r11b, 0x80 + shl r11, 56 + mov [rdi], r11 + push rdi + mov rdi, rsi + mov rsi, rdx + call Fr_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi + push rdi + mov rdi, rdx + call Fr_toNormal + mov rdx, rdi + pop rdi + + + mov rax, [rsi + 8] + xor rax, [rdx + 8] + + mov [rdi + 8 ], rax + + mov rax, [rsi + 16] + xor rax, [rdx + 16] + + mov [rdi + 16 ], rax + + mov rax, [rsi + 24] + xor rax, [rdx + 24] + + mov [rdi + 24 ], rax + + mov rax, [rsi + 32] + xor rax, [rdx + 32] + + and rax, [lboMask] + + mov [rdi + 32 ], rax + + ret + + + + + + + + + + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; eq +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_eq: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc eq_longCmp + +eq_shortCmp: + cmp eax, 0 + je eq_s_eq + js eq_s_lt +eq_s_gt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +eq_s_lt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +eq_s_eq: + + mov qword [rdi], 1 + add rsp, 40 + ret + + +eq_longCmp: + + + cmp qword [rsp + 32], 0 + jnz eq_neq + + cmp qword [rsp + 24], 0 + jnz eq_neq + + cmp qword [rsp + 16], 0 + jnz eq_neq + + cmp qword [rsp + 8], 0 + jnz eq_neq + +eq_eq: + + mov qword [rdi], 1 + add rsp, 40 + ret + +eq_neq: + + mov qword [rdi], 0 + add rsp, 40 + ret + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; neq +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_neq: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc neq_longCmp + +neq_shortCmp: + cmp eax, 0 + je neq_s_eq + js neq_s_lt +neq_s_gt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +neq_s_lt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +neq_s_eq: + + mov qword [rdi], 0 + add rsp, 40 + ret + + +neq_longCmp: + + + cmp qword [rsp + 32], 0 + jnz neq_neq + + cmp qword [rsp + 24], 0 + jnz neq_neq + + cmp qword [rsp + 16], 0 + jnz neq_neq + + cmp qword [rsp + 8], 0 + jnz neq_neq + +neq_eq: + + mov qword [rdi], 0 + add rsp, 40 + ret + +neq_neq: + + mov qword [rdi], 1 + add rsp, 40 + ret + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; lt +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_lt: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc lt_longCmp + +lt_shortCmp: + cmp eax, 0 + je lt_s_eq + js lt_s_lt +lt_s_gt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +lt_s_lt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +lt_s_eq: + + mov qword [rdi], 0 + add rsp, 40 + ret + + +lt_longCmp: + + + cmp qword [rsp + 32], 0 + jnz lt_neq + + cmp qword [rsp + 24], 0 + jnz lt_neq + + cmp qword [rsp + 16], 0 + jnz lt_neq + + cmp qword [rsp + 8], 0 + jnz lt_neq + +lt_eq: + + + + mov qword [rdi], 0 + add rsp, 40 + ret + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp29 ; half e1-e2 is neg => e1 < e2 + jnz tmp28 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp29 ; half e1-e2 is neg => e1 < e2 + jnz tmp28 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp29 ; half e1-e2 is neg => e1 < e2 + jnz tmp28 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp29 ; half e1-e2 is neg => e1 < e2 + jnz tmp28 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp28: + + mov qword [rdi], 0 + add rsp, 40 + ret + +tmp29: + + mov qword [rdi], 1 + add rsp, 40 + ret + + +lt_neq: + + + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp31 ; half e1-e2 is neg => e1 < e2 + jnz tmp30 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp31 ; half e1-e2 is neg => e1 < e2 + jnz tmp30 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp31 ; half e1-e2 is neg => e1 < e2 + jnz tmp30 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp31 ; half e1-e2 is neg => e1 < e2 + jnz tmp30 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp30: + + mov qword [rdi], 0 + add rsp, 40 + ret + +tmp31: + + mov qword [rdi], 1 + add rsp, 40 + ret + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; gt +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_gt: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc gt_longCmp + +gt_shortCmp: + cmp eax, 0 + je gt_s_eq + js gt_s_lt +gt_s_gt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +gt_s_lt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +gt_s_eq: + + mov qword [rdi], 0 + add rsp, 40 + ret + + +gt_longCmp: + + + cmp qword [rsp + 32], 0 + jnz gt_neq + + cmp qword [rsp + 24], 0 + jnz gt_neq + + cmp qword [rsp + 16], 0 + jnz gt_neq + + cmp qword [rsp + 8], 0 + jnz gt_neq + +gt_eq: + + + + mov qword [rdi], 0 + add rsp, 40 + ret + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp33 ; half e1-e2 is neg => e1 < e2 + jnz tmp32 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp33 ; half e1-e2 is neg => e1 < e2 + jnz tmp32 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp33 ; half e1-e2 is neg => e1 < e2 + jnz tmp32 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp33 ; half e1-e2 is neg => e1 < e2 + jnz tmp32 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp32: + + mov qword [rdi], 1 + add rsp, 40 + ret + +tmp33: + + mov qword [rdi], 0 + add rsp, 40 + ret + + +gt_neq: + + + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp35 ; half e1-e2 is neg => e1 < e2 + jnz tmp34 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp35 ; half e1-e2 is neg => e1 < e2 + jnz tmp34 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp35 ; half e1-e2 is neg => e1 < e2 + jnz tmp34 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp35 ; half e1-e2 is neg => e1 < e2 + jnz tmp34 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp34: + + mov qword [rdi], 1 + add rsp, 40 + ret + +tmp35: + + mov qword [rdi], 0 + add rsp, 40 + ret + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; leq +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_leq: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc leq_longCmp + +leq_shortCmp: + cmp eax, 0 + je leq_s_eq + js leq_s_lt +leq_s_gt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +leq_s_lt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +leq_s_eq: + + mov qword [rdi], 1 + add rsp, 40 + ret + + +leq_longCmp: + + + cmp qword [rsp + 32], 0 + jnz leq_neq + + cmp qword [rsp + 24], 0 + jnz leq_neq + + cmp qword [rsp + 16], 0 + jnz leq_neq + + cmp qword [rsp + 8], 0 + jnz leq_neq + +leq_eq: + + + + mov qword [rdi], 1 + add rsp, 40 + ret + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp37 ; half e1-e2 is neg => e1 < e2 + jnz tmp36 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp37 ; half e1-e2 is neg => e1 < e2 + jnz tmp36 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp37 ; half e1-e2 is neg => e1 < e2 + jnz tmp36 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp37 ; half e1-e2 is neg => e1 < e2 + jnz tmp36 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp36: + + mov qword [rdi], 0 + add rsp, 40 + ret + +tmp37: + + mov qword [rdi], 1 + add rsp, 40 + ret + + +leq_neq: + + + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp39 ; half e1-e2 is neg => e1 < e2 + jnz tmp38 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp39 ; half e1-e2 is neg => e1 < e2 + jnz tmp38 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp39 ; half e1-e2 is neg => e1 < e2 + jnz tmp38 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp39 ; half e1-e2 is neg => e1 < e2 + jnz tmp38 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp38: + + mov qword [rdi], 0 + add rsp, 40 + ret + +tmp39: + + mov qword [rdi], 1 + add rsp, 40 + ret + + + + + + +;;;;;;;;;;;;;;;;;;;;;; +; geq +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result can be zero or one. +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +Fr_geq: + sub rsp, 40 ; Save space for the result of the substraction + push rdi ; Save rdi + lea rdi, [rsp+8] ; We pushed rdi so we need to add 8 + call Fr_sub ; Do a substraction + call Fr_toNormal ; Convert it to normal + pop rdi + + mov rax, [rsp] ; We already poped do no need to add 8 + bt rax, 63 ; check is result is long + jc geq_longCmp + +geq_shortCmp: + cmp eax, 0 + je geq_s_eq + js geq_s_lt +geq_s_gt: + + mov qword [rdi], 1 + add rsp, 40 + ret + +geq_s_lt: + + mov qword [rdi], 0 + add rsp, 40 + ret + +geq_s_eq: + + mov qword [rdi], 1 + add rsp, 40 + ret + + +geq_longCmp: + + + cmp qword [rsp + 32], 0 + jnz geq_neq + + cmp qword [rsp + 24], 0 + jnz geq_neq + + cmp qword [rsp + 16], 0 + jnz geq_neq + + cmp qword [rsp + 8], 0 + jnz geq_neq + +geq_eq: + + + + mov qword [rdi], 1 + add rsp, 40 + ret + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp41 ; half e1-e2 is neg => e1 < e2 + jnz tmp40 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp41 ; half e1-e2 is neg => e1 < e2 + jnz tmp40 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp41 ; half e1-e2 is neg => e1 < e2 + jnz tmp40 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp41 ; half e1-e2 is neg => e1 < e2 + jnz tmp40 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp40: + + mov qword [rdi], 1 + add rsp, 40 + ret + +tmp41: + + mov qword [rdi], 0 + add rsp, 40 + ret + + +geq_neq: + + + + + + + + + mov rax, [rsp + 32] + cmp [half + 24], rax ; comare with (q-1)/2 + jc tmp43 ; half e1-e2 is neg => e1 < e2 + jnz tmp42 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 24] + cmp [half + 16], rax ; comare with (q-1)/2 + jc tmp43 ; half e1-e2 is neg => e1 < e2 + jnz tmp42 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 16] + cmp [half + 8], rax ; comare with (q-1)/2 + jc tmp43 ; half e1-e2 is neg => e1 < e2 + jnz tmp42 ; half>rax => e1 -e2 is pos => e1 > e2 + + mov rax, [rsp + 8] + cmp [half + 0], rax ; comare with (q-1)/2 + jc tmp43 ; half e1-e2 is neg => e1 < e2 + jnz tmp42 ; half>rax => e1 -e2 is pos => e1 > e2 + + ; half == rax => e1-e2 is pos => e1 > e2 +tmp42: + + mov qword [rdi], 1 + add rsp, 40 + ret + +tmp43: + + mov qword [rdi], 0 + add rsp, 40 + ret + + + + + + + + + section .data +Fr_q: + dd 0 + dd 0x80000000 +q dq 0x43e1f593f0000001,0x2833e84879b97091,0xb85045b68181585d,0x30644e72e131a029 +half dq 0xa1f0fac9f8000000,0x9419f4243cdcb848,0xdc2822db40c0ac2e,0x183227397098d014 +R2 dq 0x1bb8e645ae216da7,0x53fe3ab1e35c59e3,0x8c49833d53bb8085,0x0216d0b17f4e44a5 +R3 dq 0x5e94d8e1b4bf0040,0x2a489cbe1cfbb6b8,0x893cc664a19fcfed,0x0cf8594b7fcc657c +lboMask dq 0x1fffffffffffffff + diff --git a/c/buildasm/fr.asm.ejs b/c/buildasm/fr.asm.ejs new file mode 100644 index 0000000..b46b618 --- /dev/null +++ b/c/buildasm/fr.asm.ejs @@ -0,0 +1,41 @@ + + + global <%=name%>_add + global <%=name%>_sub + global <%=name%>_neg + global <%=name%>_mul + global <%=name%>_band + global <%=name%>_bor + global <%=name%>_bxor + global <%=name%>_eq + global <%=name%>_neq + global <%=name%>_lt + global <%=name%>_gt + global <%=name%>_leq + global <%=name%>_geq + global <%=name%>_toNormal + global <%=name%>_toMontgomery + global <%=name%>_q + DEFAULT REL + + section .text +<%- include('utils.asm.ejs'); %> +<%- include('copy.asm.ejs'); %> +<%- include('montgomery.asm.ejs'); %> +<%- include('add.asm.ejs'); %> +<%- include('sub.asm.ejs'); %> +<%- include('neg.asm.ejs'); %> +<%- include('mul.asm.ejs'); %> +<%- include('binops.asm.ejs'); %> +<%- include('cmpops.asm.ejs'); %> + + section .data +<%=name%>_q: + dd 0 + dd 0x80000000 +q dq <%= constantElement(q) %> +half dq <%= constantElement(q.shiftRight(1)) %> +R2 dq <%= constantElement(bigInt.one.shiftLeft(n64*64*2).mod(q)) %> +R3 dq <%= constantElement(bigInt.one.shiftLeft(n64*64*3).mod(q)) %> +lboMask dq 0x<%= bigInt("8000000000000000",16).shiftRight(n64*64 - q.bitLength()).minus(bigInt.one).toString(16) %> + diff --git a/c/buildasm/fr.c b/c/buildasm/fr.c new file mode 100644 index 0000000..bfd54cb --- /dev/null +++ b/c/buildasm/fr.c @@ -0,0 +1,39 @@ +#include "fr.h" +#include +#include +#include + +void Fr_str2element(PFrElement pE, char *s) { + mpz_t r; + mpz_init(r); + mpz_set_str(r, s, 10); + pE->type = Fr_LONG; + for (int i=0; ilongVal[i] = 0; + mpz_export((void *)pE->longVal, NULL, -1, 8, -1, 0, r); +} + +char *Fr_element2str(PFrElement pE) { + mpz_t r; + mpz_t q; + if (pE->type == Fr_SHORT) { + if (pE->shortVal>=0) { + char *r = new char[32]; + sprintf(r, "%d", pE->shortVal); + return r; + } else { + mpz_init(q); + mpz_import(q, Fr_N64, -1, 8, -1, 0, (const void *)Fr_q.longVal); + mpz_init_set_si(r, pE->shortVal); + mpz_add(r, r, q); + mpz_clear(q); + } + } else { + Fr_toNormal(pE); + mpz_init(r); + mpz_import(r, Fr_N64, -1, 8, -1, 0, (const void *)pE->longVal); + } + char *res = mpz_get_str (0, 10, r); + mpz_clear(r); + return res; +} + diff --git a/c/buildasm/fr.c.ejs b/c/buildasm/fr.c.ejs new file mode 100644 index 0000000..8149ba8 --- /dev/null +++ b/c/buildasm/fr.c.ejs @@ -0,0 +1,39 @@ +#include "<%=name.toLowerCase()+".h"%>" +#include +#include +#include + +void <%=name%>_str2element(P<%=name%>Element pE, char *s) { + mpz_t r; + mpz_init(r); + mpz_set_str(r, s, 10); + pE->type = <%=name%>_LONG; + for (int i=0; i<<%=name%>_N64; i++) pE->longVal[i] = 0; + mpz_export((void *)pE->longVal, NULL, -1, 8, -1, 0, r); +} + +char *<%=name%>_element2str(P<%=name%>Element pE) { + mpz_t r; + mpz_t q; + if (pE->type == <%=name%>_SHORT) { + if (pE->shortVal>=0) { + char *r = new char[32]; + sprintf(r, "%d", pE->shortVal); + return r; + } else { + mpz_init(q); + mpz_import(q, <%=name%>_N64, -1, 8, -1, 0, (const void *)Fr_q.longVal); + mpz_init_set_si(r, pE->shortVal); + mpz_add(r, r, q); + mpz_clear(q); + } + } else { + <%=name%>_toNormal(pE); + mpz_init(r); + mpz_import(r, <%=name%>_N64, -1, 8, -1, 0, (const void *)pE->longVal); + } + char *res = mpz_get_str (0, 10, r); + mpz_clear(r); + return res; +} + diff --git a/c/buildasm/fr.h.ejs b/c/buildasm/fr.h.ejs new file mode 100644 index 0000000..eda5d73 --- /dev/null +++ b/c/buildasm/fr.h.ejs @@ -0,0 +1,31 @@ +#include +#define <%=name%>_N64 <%= n64 %> +#define <%=name%>_SHORT 0x00000000 +#define <%=name%>_LONG 0x80000000 +#define <%=name%>_LONGMONTGOMERY 0xC0000000 +typedef struct __attribute__((__packed__)) { + int32_t shortVal; + u_int32_t type; + u_int64_t longVal[<%=name%>_N64]; +} <%=name%>Element; +typedef <%=name%>Element *P<%=name%>Element; +extern <%=name%>Element <%=name%>_q; +extern "C" void <%=name%>_add(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_sub(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_neg(P<%=name%>Element r, P<%=name%>Element a); +extern "C" void <%=name%>_mul(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_band(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_bor(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_bxor(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_eq(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_neq(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_lt(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_gt(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_leq(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_geq(P<%=name%>Element r, P<%=name%>Element a, P<%=name%>Element b); +extern "C" void <%=name%>_toNormal(P<%=name%>Element pE); +extern "C" void <%=name%>_toMontgomery(P<%=name%>Element pE); +void <%=name%>_str2element(P<%=name%>Element pE, char *s); +char *<%=name%>_element2str(P<%=name%>Element pE); +extern <%=name%>Element <%=name%>_q; + diff --git a/c/buildasm/fr.o b/c/buildasm/fr.o new file mode 100644 index 0000000000000000000000000000000000000000..3b81456918dc643e0d6b5035ebf9ce984b589481 GIT binary patch literal 18573 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 Yb90O47*msssmVssY;R_6=}pG}0@_f&CjbBd literal 0 HcmV?d00001 diff --git a/c/buildasm/main b/c/buildasm/main new file mode 100755 index 0000000000000000000000000000000000000000..129bb83da61ec567b11fac0f2497c01f05102991 GIT binary patch literal 26420 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 literal 0 HcmV?d00001 diff --git a/c/buildasm/main.c b/c/buildasm/main.c new file mode 100644 index 0000000..62d3123 --- /dev/null +++ b/c/buildasm/main.c @@ -0,0 +1,24 @@ +#include "stdio.h" +#include "fr.h" + +int main() { + + FrElement a = { 0, Fr_LONGMONTGOMERY, {1,1,1,1}}; + FrElement b = { 0, Fr_LONGMONTGOMERY, {2,2,2,2}}; + +/* + FrElement a={0x43e1f593f0000000ULL,0x2833e84879b97091ULL,0xb85045b68181585dULL,0x30644e72e131a029ULL}; + FrElement b = {3,0,0,0}; +*/ + FrElement c; + +// Fr_add(&(c[0]), a, a); +// Fr_add(&(c[0]), c, b); + + for (int i=0; i<1000000000; i++) { + Fr_mul(&c, &a, &b); + } + + Fr_mul(&c,&a, &b); + printf("%llu, %llu, %llu, %llu\n", c.longVal[0], c.longVal[1], c.longVal[2], c.longVal[3]); +} diff --git a/c/buildasm/main.dSYM/Contents/Info.plist b/c/buildasm/main.dSYM/Contents/Info.plist new file mode 100644 index 0000000..fe7fecd --- /dev/null +++ b/c/buildasm/main.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.main + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/c/buildasm/main.dSYM/Contents/Resources/DWARF/main b/c/buildasm/main.dSYM/Contents/Resources/DWARF/main new file mode 100644 index 0000000000000000000000000000000000000000..c6a803bf6b2f89af27dbd9579d5cc2035ace376c GIT binary patch literal 25150 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 I;1v6R0Lhirr~m)} literal 0 HcmV?d00001 diff --git a/c/buildasm/montgomery.asm.ejs b/c/buildasm/montgomery.asm.ejs new file mode 100644 index 0000000..1652c7a --- /dev/null +++ b/c/buildasm/montgomery.asm.ejs @@ -0,0 +1,273 @@ + + + +<% +////////////////////// +// montgomeryTemplate +////////////////////// +// This function creates functions with the montgomery transformation +// applied +// the round hook allows to add diferent code in the iteration +// +// All the montgomery functions modifies: +// r8, r9, 10, r11, rax, rcx +////////////////////// +function montgomeryTemplate(fnName, round) { + let r0, r1, r2; + function setR(step) { + if ((step % 3) == 0) { + r0 = "r8"; + r1 = "r9"; + r2 = "r10"; + } else if ((step % 3) == 1) { + r0 = "r9"; + r1 = "r10"; + r2 = "r8"; + } else { + r0 = "r10"; + r1 = "r8"; + r2 = "r9"; + } + } + + const base = bigInt.one.shiftLeft(64); + const np64 = base.minus(q.modInv(base)); +%> +<%=fnName%>: + sub rsp, <%= n64*8 %> ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0x<%= np64.toString(16) %> ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 +<% + // Main loop + for (let i=0; i + +<% + for (let j=i-1; j>=0; j--) { // All ms + if (((i-j) + mov rax, [rsp + <%= j*8 %>] + mul qword [q + <%= (i-j)*8 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } + } // ms +%> + +<% + if (i + mov rax, <%= r0 %> + mul r11 + mov [rsp + <%= i*8 %>], rax + mul qword [q] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } else { +%> + mov [rdi + <%= (i-n64)*8 %> ], <%= r0 %> + xor <%= r0 %>,<%= r0 %> +<% + } +%> + +<% + } // Main Loop +%> + test <%= r1 %>, <%= r1 %> + jnz <%=fnName%>_mulM_sq + ; Compare with q +<% + for (let i=0; i + mov rax, [rdi + <%= (n64-i-1)*8 %>] + cmp rax, [q + <%= (n64-i-1)*8 %>] + jc <%=fnName%>_mulM_done ; q is bigget so done. + jnz <%=fnName%>_mulM_sq ; q is lower +<% + } +%> + ; If equal substract q + +<%=fnName%>_mulM_sq: +<% + for (let i=0; i + mov rax, [q + <%= i*8 %>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%= i*8 %>], rax +<% + } +%> + +<%=fnName%>_mulM_done: + mov rdx, rcx ; recover rdx to its original place. + add rsp, <%= n64*8 %> ; recover rsp + ret + +<% +} // Template +%> + +;;;;;;;;;;;;;;;;;;;;;; +; rawMontgomeryMul +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= Pointer to the long data of element 2 +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<% +montgomeryTemplate("rawMontgomeryMul", function(i, r0, r1, r2) { + // Same Digit + for (let o1=Math.max(0, i-n64+1); (o1<=i)&&(o1 + mov rax, [rsi + <%= 8*o1 %>] + mul qword [rcx + <%= 8*o2 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } // Same digit +}) +%> + +;;;;;;;;;;;;;;;;;;;;;; +; rawMontgomeryMul1 +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdx <= second operand +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<% +montgomeryTemplate("rawMontgomeryMul1", function(i, r0, r1, r2) { + // Same Digit + if (i + mov rax, [rsi + <%= 8*i %>] + mul rcx + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } // Same digit +}) +%> + + +;;;;;;;;;;;;;;;;;;;;;; +; rawFromMontgomery +;;;;;;;;;;;;;;;;;;;;;; +; Multiply two elements in montgomery form +; Params: +; rsi <= Pointer to the long data of element 1 +; rdi <= Pointer to the long data of result +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<% +montgomeryTemplate("rawFromMontgomery", function(i, r0, r1, r2) { + // Same Digit + if (i + add <%= r0 %>, [rdi + <%= 8*i %>] + adc <%= r1 %>, 0x0 + adc <%= r2 %>, 0x0 +<% + } // Same digit +}) +%> + +;;;;;;;;;;;;;;;;;;;;;; +; toMontgomery +;;;;;;;;;;;;;;;;;;;;;; +; Convert a number to Montgomery +; rdi <= Pointer element to convert +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;; +<%=name%>_toMontgomery: + mov rax, [rdi] + bts rax, 62 ; check if montgomery + jc toMontgomery_doNothing + bts rax, 63 + jc toMontgomeryLong + +toMontgomeryShort: + mov [rdi], rax + add rdi, 8 + push rsi + lea rsi, [R2] + movsx rdx, eax + cmp rdx, 0 + js negMontgomeryShort +posMontgomeryShort: + call rawMontgomeryMul1 + pop rsi + sub rdi, 8 + ret + +negMontgomeryShort: + neg rdx ; Do the multiplication positive and then negate the result. + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + pop rsi + sub rdi, 8 + ret + + +toMontgomeryLong: + mov [rdi], rax + add rdi, 8 + push rsi + mov rdx, rdi + lea rsi, [R2] + call rawMontgomeryMul + pop rsi + sub rdi, 8 + +toMontgomery_doNothing: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; toNormal +;;;;;;;;;;;;;;;;;;;;;; +; Convert a number from Montgomery +; rdi <= Pointer element to convert +; Modified registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;; +<%=name%>_toNormal: + mov rax, [rdi] + btc rax, 62 ; check if montgomery + jnc fromMontgomery_doNothing + bt rax, 63 ; if short, it means it's converted + jnc fromMontgomery_doNothing + +fromMontgomeryLong: + mov [rdi], rax + add rdi, 8 + call rawFromMontgomery + sub rdi, 8 + +fromMontgomery_doNothing: + ret + + diff --git a/c/buildasm/mul.asm.ejs b/c/buildasm/mul.asm.ejs new file mode 100644 index 0000000..88ecd48 --- /dev/null +++ b/c/buildasm/mul.asm.ejs @@ -0,0 +1,211 @@ +<% function mulS1S2() { %> + xor rax, rax + mov eax, r8d + imul r9d + jo mul_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rax ; not necessary to adjust so just save and return + +mul_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rax, r8d + movsx rcx, r9d + imul rcx + mov rsi, rax + call rawCopyS2L + pop rsi +<% } %> + +<% function mulL1S2(t) { %> + push rsi + add rsi, 8 + movsx rdx, r9d + add rdi, 8 + cmp rdx, 0 + <% const rawPositiveLabel = global.tmpLabel() %> + jns <%= rawPositiveLabel %> + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + <% const done = global.tmpLabel() %> + jmp <%= done %> +<%= rawPositiveLabel %>: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +<%= done %>: + +<% } %> + +<% function mulS1L2() { %> + push rsi + lea rsi, [rdx + 8] + movsx rdx, r8d + add rdi, 8 + cmp rdx, 0 + <% const rawPositiveLabel = global.tmpLabel() %> + jns <%= rawPositiveLabel %> + neg rdx + call rawMontgomeryMul1 + mov rsi, rdi + call rawNegL + sub rdi, 8 + pop rsi + <% const done = global.tmpLabel() %> + jmp <%= done %> +<%= rawPositiveLabel %>: + call rawMontgomeryMul1 + sub rdi, 8 + pop rsi +<%= done %>: + +<% } %> + +<% function mulL1L2() { %> + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawMontgomeryMul + sub rdi, 8 + sub rsi, 8 +<% } %> + +<% function mulR3() { %> + push rsi + add rdi, 8 + mov rsi, rdi + lea rdx, [R3] + call rawMontgomeryMul + sub rdi, 8 + pop rsi +<% } %> + + +;;;;;;;;;;;;;;;;;;;;;; +; mul +;;;;;;;;;;;;;;;;;;;;;; +; Multiplies two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; [rdi] = [rsi] * [rdi] +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_mul: + mov r8, [rsi] + mov r9, [rdx] + bt r8, 63 ; Check if is short first operand + jc mul_l1 + bt r9, 63 ; Check if is short second operand + jc mul_s1l2 + +mul_s1s2: ; Both operands are short +<%= mulS1S2() %> + ret + +mul_l1: + bt r9, 63 ; Check if is short second operand + jc mul_l1l2 + +;;;;;;;; +mul_l1s2: + bt r8, 62 ; check if montgomery first + jc mul_l1ms2 +mul_l1ns2: + bt r9, 62 ; check if montgomery first + jc mul_l1ns2m +mul_l1ns2n: +<%= global.setTypeDest("0xC0"); %> +<%= mulL1S2() %> +<%= mulR3() %> + ret + + +mul_l1ns2m: +<%= global.setTypeDest("0x80"); %> +<%= mulL1L2() %> + ret + + +mul_l1ms2: + bt r9, 62 ; check if montgomery second + jc mul_l1ms2m +mul_l1ms2n: +<%= global.setTypeDest("0x80"); %> +<%= mulL1S2() %> + ret + +mul_l1ms2m: +<%= global.setTypeDest("0xC0"); %> +<%= mulL1L2() %> + ret + + +;;;;;;;; +mul_s1l2: + bt r8, 62 ; check if montgomery first + jc mul_s1ml2 +mul_s1nl2: + bt r9, 62 ; check if montgomery first + jc mul_s1nl2m +mul_s1nl2n: +<%= global.setTypeDest("0xC0"); %> +<%= mulS1L2() %> +<%= mulR3() %> + ret + +mul_s1nl2m: +<%= global.setTypeDest("0x80"); %> +<%= mulS1L2(); %> + ret + +mul_s1ml2: + bt r9, 62 ; check if montgomery first + jc mul_s1ml2m +mul_s1ml2n: +<%= global.setTypeDest("0x80"); %> +<%= mulL1L2() %> + ret + +mul_s1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= mulL1L2() %> + ret + +;;;; +mul_l1l2: + bt r8, 62 ; check if montgomery first + jc mul_l1ml2 +mul_l1nl2: + bt r9, 62 ; check if montgomery second + jc mul_l1nl2m +mul_l1nl2n: +<%= global.setTypeDest("0xC0"); %> +<%= mulL1L2() %> +<%= mulR3() %> + ret + +mul_l1nl2m: +<%= global.setTypeDest("0x80"); %> +<%= mulL1L2() %> + ret + +mul_l1ml2: + bt r9, 62 ; check if montgomery seconf + jc mul_l1ml2m +mul_l1ml2n: +<%= global.setTypeDest("0x80"); %> +<%= mulL1L2() %> + ret + +mul_l1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= mulL1L2() %> + ret + + diff --git a/c/buildasm/neg.asm.ejs b/c/buildasm/neg.asm.ejs new file mode 100644 index 0000000..d0796dc --- /dev/null +++ b/c/buildasm/neg.asm.ejs @@ -0,0 +1,78 @@ +<% function negS() { %> + neg eax + jo neg_manageOverflow ; Check if overflow. (0x80000000 is the only case) + + mov [rdi], rax ; not necessary to adjust so just save and return + ret + +neg_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + neg rsi + call rawCopyS2L + pop rsi + ret +<% } %> + +<% function negL() { %> + add rdi, 8 + add rsi, 8 + call rawNegL + sub rdi, 8 + sub rsi, 8 + ret +<% } %> + +;;;;;;;;;;;;;;;;;;;;;; +; neg +;;;;;;;;;;;;;;;;;;;;;; +; Adds two elements of any kind +; Params: +; rsi <= Pointer to element to be negated +; rdi <= Pointer to result +; [rdi] = -[rsi] +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_neg: + mov rax, [rsi] + bt rax, 63 ; Check if is short first operand + jc neg_l + +neg_s: ; Operand is short +<%= negS() %> + + +neg_l: + mov [rdi], rax ; Copy the type +<%= negL() %> + + +;;;;;;;;;;;;;;;;;;;;;; +; rawNeg +;;;;;;;;;;;;;;;;;;;;;; +; Negates a value +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 +; +; [rdi] = - [rsi] +;;;;;;;;;;;;;;;;;;;;;; +rawNegL: + ; Compare is zero + + xor rax, rax +<% for (let i=0; i + cmp [rsi + <%=i*8%>], rax + jnz doNegate +<% } %> + ; it's zero so just set to zero +<% for (let i=0; i + mov [rdi + <%=i*8%>], rax +<% } %> + ret +doNegate: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "sub" : "sbb" %> rax, [rsi + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + ret diff --git a/c/buildasm/old/buildfieldasm.js b/c/buildasm/old/buildfieldasm.js new file mode 100644 index 0000000..fc48e4c --- /dev/null +++ b/c/buildasm/old/buildfieldasm.js @@ -0,0 +1,33 @@ +const tester = require("../c/buildasm/buildzqfieldtester2.js"); + +const bigInt = require("big-integer"); + +const __P__ = new bigInt("21888242871839275222246405745257275088548364400416034343698204186575808495617"); + + +describe("basic cases", function () { + this.timeout(100000); + it("should do basic tests", async () => { + await tester(__P__, [ + ["add", 0, 0], + ["add", 0, 1], + ["add", 1, 0], + ["add", 1, 1], + ["add", 2, 1], + ["add", 2, 10], + ["add", -1, -1], + ["add", -20, -10], + ["add", "10604728079509999371218483608188593244163417117449316147628604036713980815027", "10604728079509999371218483608188593244163417117449316147628604036713980815027"], + + ["mul", 0, 0], + ["mul", 0, 1], + ["mul", 1, 0], + ["mul", 1, 1], + ["mul", 2, 1], + ["mul", 2, 10], + ["mul", -1, -1], + ["mul", -20, -10], + ["mul", "10604728079509999371218483608188593244163417117449316147628604036713980815027", "10604728079509999371218483608188593244163417117449316147628604036713980815027"], + ]); + }); +}); diff --git a/c/buildasm/old/buildzqfield.js b/c/buildasm/old/buildzqfield.js new file mode 100644 index 0000000..72e5284 --- /dev/null +++ b/c/buildasm/old/buildzqfield.js @@ -0,0 +1,209 @@ +const bigInt=require("big-integer"); + + + + + +class ZqBuilder { + constructor(q, name) { + this.q=bigInt(q); + this.h = []; + this.c = []; + this.name = name; + } + + build() { + this._buildHeaders(); + this._buildAdd(); + this._buildMul(); + + this.c.push(""); this.h.push(""); + return [this.h.join("\n"), this.c.join("\n")]; + } + + _buildHeaders() { + this.n64 = Math.floor((this.q.bitLength() - 1) / 64)+1; + this.h.push("typedef unsigned long long u64;"); + this.h.push(`typedef u64 ${this.name}Element[${this.n64}];`); + this.h.push(`typedef u64 *P${this.name}Element;`); + this.h.push(`extern ${this.name}Element ${this.name}_q;`); + this.h.push(`#define ${this.name}_N64 ${this.n64}`); + this.c.push(`#include "${this.name.toLowerCase()}.h"`); + this._defineConstant(`${this.name}_q`, this.q); + this.c.push(""); this.h.push(""); + } + + _defineConstant(n, v) { + let S = `${this.name}Element ${n}={`; + const mask = bigInt("FFFFFFFFFFFFFFFF", 16); + for (let i=0; i0) S = S+","; + let shex = v.shiftRight(i*64).and(mask).toString(16); + while (shex <16) shex = "0" + shex; + S = S + "0x" + shex + "ULL"; + } + S += "};"; + this.c.push(S); + } + + _buildAdd() { + this.h.push(`void ${this.name}_add(P${this.name}Element r, P${this.name}Element a, P${this.name}Element b);`); + this.c.push(`void ${this.name}_add(P${this.name}Element r, P${this.name}Element a, P${this.name}Element b) {`); + this.c.push(" __asm__ __volatile__ ("); + for (let i=0; i0) { + this.c.push(` "movq ${(this.n64 - i-1)*8}(%0), %%rax;"`); + } + this.c.push(` "cmp ${(this.n64 - i-1)*8}(%3), %%rax;"`); + this.c.push(" \"jg SQ;\""); + this.c.push(" \"jl DONE;\""); + } + this.c.push(" \"SQ:\""); + for (let i=0; i=0; j--) { + if (((i-j)_add + global <%=name%>_mul + global <%=name%>_q + DEFAULT REL + + section .text + +;;;;;;;;;;;;;;;;;;;;;; +; add +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_add: + ; Add component by component with carry +<% for (let i=0; i + mov rax, [rsi + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> rax, [rdx + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + jc add_sq ; if overflow, substract q + + ; Compare with q +<% for (let i=0; i +<% if (i>0) { %> + mov rax, [rdi + <%= (n64-i-1)*8 %>] +<% } %> + cmp rax, [q + <%= (n64-i-1)*8 %>] + jg add_sq + jl add_done +<% } %> + ; If equal substract q +add_sq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%=i*8%>], rax + mov [rdx + <%=i*8%>], rax +<% } %> + +add_done: + ret + + +;;;;;;;;;;;;;;;;;;;;;; +; mul Montgomery +;;;;;;;;;;;;;;;;;;;;;; +mulM: +<% +let r0, r1, r2; +function setR(step) { + if ((step % 3) == 0) { + r0 = "r8"; + r1 = "r9"; + r2 = "r10"; + } else if ((step % 3) == 1) { + r0 = "r9"; + r1 = "r10"; + r2 = "r8"; + } else { + r0 = "r10"; + r1 = "r8"; + r2 = "r9"; + } +} + +const base = bigInt.one.shiftLeft(64); +const np64 = base.minus(q.modInv(base)); +%> + sub rsp, <%= n64*8 %> ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0x<%= np64.toString(16) %> ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 +<% +// Main loop +for (let i=0; i +<% + // Same Digit + for (let o1=Math.max(0, i-n64+1); (o1<=i)&&(o1 + mov rax, [rsi + <%= 8*o1 %>] + mul qword [rcx + <%= 8*o2 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } // Same digit +%> + + +<% + for (let j=i-1; j>=0; j--) { // All ms + if (((i-j) + mov rax, [rsp + <%= j*8 %>] + mul qword [q + <%= (i-j)*8 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } + } // ms +%> + +<% + if (i + mov rax, <%= r0 %> + mul r11 + mov [rsp + <%= i*8 %>], rax + mul qword [q] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } else { +%> + mov [rdi + <%= (i-n64)*8 %> ], <%= r0 %> + xor <%= r0 %>,<%= r0 %> +<% + } +%> + +<% +} // Main Loop +%> + cmp <%= r1 %>, 0x0 + jne mulM_sq + ; Compare with q +<% +for (let i=0; i + mov rax, [rdi + <%= (n64-i-1)*8 %>] + cmp rax, [q + <%= (n64-i-1)*8 %>] + jg mulM_sq + jl mulM_done +<% +} +%> + ; If equal substract q + +mulM_sq: +<% +for (let i=0; i + mov rax, [q + <%= i*8 %>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%= i*8 %>], rax + mov [rdx + <%= i*8 %>], rax +<% +} +%> + +mulM_done: + add rsp, <%= n64*8 %> ; recover rsp + ret + +;;;;;;;;;;;;;;;;;;;;;; +; mul MontgomeryShort +;;;;;;;;;;;;;;;;;;;;;; +mulSM: + +;;;;;;;;;;;;;;;;;;;;;; +; mul +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_mul: + mov rax, [rsi] + bt rax, 63 + jc l1 + mov rcx, [rdx] + bt rcx, 63 + jc s1l2 +s1s2: ; short first and second + mul ecx + jc rs2l ; If if doesn't feed in 32 bits convert the result to long + + ; The shorts multiplication is done. copy the val to destination and return + mov [rdi], rax + ret + +rs2l: ; The result in the multiplication doen't feed + ; we have the result in edx:eax we need to convert it to long + shl rdx, 32 + mov edx, eax ; pack edx:eax to rdx + + xor rax, rax ; Set the format to long + bts rax, 63 + mov [rdi], rax ; move the first digit + + cmp rdx, 0 ; check if redx is negative. + jl rs2ln + + ; edx is positive. + mov [rdi + 8], rdx ; Set the firs digit + + xor rax, rax ; Set the remaining digits to 0 +<% for (let i=1; i + mov [rdi + <%= (i+1)*8 %>], rax +<% } %> + ret + + ; edx is negative. +rs2ln: + + add rdx, [q] ; Set the firs digit + mov [rdi + 8], rdx ; + + mov rdx, -1 ; all ones +<% for (let i=1; i + mov rax, rdx ; Add to q + adc rax, [q + <%= i*8 %> ] + mov [rdi + <%= (i+1)*8 %>], rax +<% } %> + ret + +l1: + mov rcx, [rdx] + bt rcx, 63 + jc ll + +l1s2: + xor rdx, rdx + mov edx, ecx + bt rax, 62 + jc lsM + jmp lsN + +s1l2: + mov rsi, rdx + xor rdx, rdx + mov edx, eax + bt rcx, 62 + jc lsM + jmp lsN + + +lsN: + mov byte [rdi + 3], 0xC0 ; set the result to montgomery + add rsi, 8 + add rdi, 8 + call mulSM + mov rdx, R3 + call mulM + ret + +lsM: + mov byte [rdi + 3], 0x80 ; set the result to long normal + add rsi, 8 + add rdi, 8 + call mulSM + ret + + +ll: + + bt rax, 62 + jc lml + bt rcx, 62 + jc lnlm + +lnln: + mov byte [rdi + 3], 0xC0 ; set the result to long montgomery + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + mov rdi, rsi + mov rdx, R3 + call mulM + ret + +lml: + bt rcx, 62 + jc lmlm + +lnlm: + mov byte [rdi + 3], 0x80 ; set the result to long normal + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + ret + +lmlm: + mov byte [rdi + 3], 0xC0 ; set the result to long montgomery + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + ret + + + section .data +<%=name%>_q: + dd 0 + dd 0x80000000 +q dq <%= constantElement(q) %> +R3 dq <%= constantElement(bigInt.one.shiftLeft(n64*64*3).mod(q)) %> + + diff --git a/c/buildasm/old/mul.asm.ejs b/c/buildasm/old/mul.asm.ejs new file mode 100644 index 0000000..f6b537e --- /dev/null +++ b/c/buildasm/old/mul.asm.ejs @@ -0,0 +1,251 @@ + +;;;;;;;;;;;;;;;;;;;;;; +; mul Montgomery +;;;;;;;;;;;;;;;;;;;;;; +mulM: +<% +let r0, r1, r2; +function setR(step) { + if ((step % 3) == 0) { + r0 = "r8"; + r1 = "r9"; + r2 = "r10"; + } else if ((step % 3) == 1) { + r0 = "r9"; + r1 = "r10"; + r2 = "r8"; + } else { + r0 = "r10"; + r1 = "r8"; + r2 = "r9"; + } +} + +const base = bigInt.one.shiftLeft(64); +const np64 = base.minus(q.modInv(base)); +%> + sub rsp, <%= n64*8 %> ; Reserve space for ms + mov rcx, rdx ; rdx is needed for multiplications so keep it in cx + mov r11, 0x<%= np64.toString(16) %> ; np + xor r8,r8 + xor r9,r9 + xor r10,r10 +<% +// Main loop +for (let i=0; i +<% + // Same Digit + for (let o1=Math.max(0, i-n64+1); (o1<=i)&&(o1 + mov rax, [rsi + <%= 8*o1 %>] + mul qword [rcx + <%= 8*o2 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } // Same digit +%> + + +<% + for (let j=i-1; j>=0; j--) { // All ms + if (((i-j) + mov rax, [rsp + <%= j*8 %>] + mul qword [q + <%= (i-j)*8 %>] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } + } // ms +%> + +<% + if (i + mov rax, <%= r0 %> + mul r11 + mov [rsp + <%= i*8 %>], rax + mul qword [q] + add <%= r0 %>, rax + adc <%= r1 %>, rdx + adc <%= r2 %>, 0x0 +<% + } else { +%> + mov [rdi + <%= (i-n64)*8 %> ], <%= r0 %> + xor <%= r0 %>,<%= r0 %> +<% + } +%> + +<% +} // Main Loop +%> + cmp <%= r1 %>, 0x0 + jne mulM_sq + ; Compare with q +<% +for (let i=0; i + mov rax, [rdi + <%= (n64-i-1)*8 %>] + cmp rax, [q + <%= (n64-i-1)*8 %>] + jg mulM_sq + jl mulM_done +<% +} +%> + ; If equal substract q + +mulM_sq: +<% +for (let i=0; i + mov rax, [q + <%= i*8 %>] + <%= i==0 ? "sub" : "sbb" %> [rdi + <%= i*8 %>], rax +<% +} +%> + +mulM_done: + add rsp, <%= n64*8 %> ; recover rsp + ret + +;;;;;;;;;;;;;;;;;;;;;; +; mul MontgomeryShort +;;;;;;;;;;;;;;;;;;;;;; +mulSM: + +;;;;;;;;;;;;;;;;;;;;;; +; mul +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_mul: + mov rax, [rsi] + bt rax, 63 + jc l1 + mov rcx, [rdx] + bt rcx, 63 + jc s1l2 +s1s2: ; short first and second + mul ecx + jc rs2l ; If if doesn't feed in 32 bits convert the result to long + + ; The shorts multiplication is done. copy the val to destination and return + mov [rdi], rax + ret + +rs2l: ; The result in the multiplication doen't feed + ; we have the result in edx:eax we need to convert it to long + shl rdx, 32 + mov edx, eax ; pack edx:eax to rdx + + xor rax, rax ; Set the format to long + bts rax, 63 + mov [rdi], rax ; move the first digit + + cmp rdx, 0 ; check if redx is negative. + jl rs2ln + + ; edx is positive. + mov [rdi + 8], rdx ; Set the firs digit + + xor rax, rax ; Set the remaining digits to 0 +<% for (let i=1; i + mov [rdi + <%= (i+1)*8 %>], rax +<% } %> + ret + + ; edx is negative. +rs2ln: + + add rdx, [q] ; Set the firs digit + mov [rdi + 8], rdx ; + + mov rdx, -1 ; all ones +<% for (let i=1; i + mov rax, rdx ; Add to q + adc rax, [q + <%= i*8 %> ] + mov [rdi + <%= (i+1)*8 %>], rax +<% } %> + ret + +l1: + mov rcx, [rdx] + bt rcx, 63 + jc ll + +l1s2: + xor rdx, rdx + mov edx, ecx + bt rax, 62 + jc lsM + jmp lsN + +s1l2: + mov rsi, rdx + xor rdx, rdx + mov edx, eax + bt rcx, 62 + jc lsM + jmp lsN + + +lsN: + mov byte [rdi + 7], 0xC0 ; set the result to montgomery + add rsi, 8 + add rdi, 8 + call mulSM + mov rsi, rdi + lea rdx, [R3] + call mulM + ret + +lsM: + mov byte [rdi + 7], 0x80 ; set the result to long normal + add rsi, 8 + add rdi, 8 + call mulSM + ret + + +ll: + + bt rax, 62 + jc lml + bt rcx, 62 + jc lnlm + +lnln: + mov byte [rdi + 7], 0xC0 ; set the result to long montgomery + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + mov rsi, rdi + lea rdx, [R3] + call mulM + ret + +lml: + bt rcx, 62 + jc lmlm + +lnlm: + mov byte [rdi + 7], 0x80 ; set the result to long normal + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + ret + +lmlm: + mov byte [rdi + 7], 0xC0 ; set the result to long montgomery + add rsi, 8 + add rdi, 8 + add rdx, 8 + call mulM + ret diff --git a/c/buildasm/out.map b/c/buildasm/out.map new file mode 100644 index 0000000..0792914 --- /dev/null +++ b/c/buildasm/out.map @@ -0,0 +1,219 @@ +# Path: main +# Arch: x86_64 +# Object files: +[ 0] linker synthesized +[ 1] /var/folders/g_/74y0ll3503d4sm0c64jw432r0000gn/T//cczqYl2H.o +[ 2] fr.o +[ 3] /var/folders/g_/74y0ll3503d4sm0c64jw432r0000gn/T//cc5nHggh.o +[ 4] /usr/local/lib/libgmp.dylib +[ 5] /usr/local/Cellar/gcc/9.2.0_2/lib/gcc/9/libstdc++.dylib +[ 6] /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib/libSystem.tbd +# Sections: +# Address Size Segment Section +0x1000011BD 0x00001C99 __TEXT __text +0x100002E56 0x00000042 __TEXT __stubs +0x100002E98 0x00000074 __TEXT __stub_helper +0x100002F0C 0x0000001B __TEXT __cstring +0x100002F28 0x000000D8 __TEXT __eh_frame +0x100003000 0x00000008 __DATA_CONST __got +0x100004000 0x00000058 __DATA __la_symbol_ptr +0x100004058 0x00000078 __DATA __data +# Symbols: +# Address Size File Name +0x1000011BD 0x000000E2 [ 1] _main +0x10000129F 0x00000023 [ 2] rawCopyS2L +0x1000012C2 0x0000003D [ 2] u64toLong_adjust_neg +0x1000012FF 0x00000301 [ 2] rawMontgomeryMul +0x100001600 0x0000002B [ 2] rawMontgomeryMul_mulM_sq +0x10000162B 0x00000005 [ 2] rawMontgomeryMul_mulM_done +0x100001630 0x0000022C [ 2] rawMontgomeryMul1 +0x10000185C 0x0000002B [ 2] rawMontgomeryMul1_mulM_sq +0x100001887 0x00000005 [ 2] rawMontgomeryMul1_mulM_done +0x10000188C 0x00000218 [ 2] rawFromMontgomery +0x100001AA4 0x0000002B [ 2] rawFromMontgomery_mulM_sq +0x100001ACF 0x00000005 [ 2] rawFromMontgomery_mulM_done +0x100001AD4 0x00000011 [ 2] _Fr_toMontgomery +0x100001AE5 0x00000018 [ 2] toMontgomeryShort +0x100001AFD 0x0000000B [ 2] posMontgomeryShort +0x100001B08 0x00000016 [ 2] negMontgomeryShort +0x100001B1E 0x0000001C [ 2] toMontgomeryLong +0x100001B3A 0x00000001 [ 2] toMontgomery_doNothing +0x100001B3B 0x00000011 [ 2] _Fr_toNormal +0x100001B4C 0x00000010 [ 2] fromMontgomeryLong +0x100001B5C 0x00000001 [ 2] fromMontgomery_doNothing +0x100001B5D 0x00000018 [ 2] _Fr_add +0x100001B75 0x0000000D [ 2] add_s1s2 +0x100001B82 0x00000011 [ 2] add_manageOverflow +0x100001B93 0x0000000B [ 2] add_l1 +0x100001B9E 0x00000007 [ 2] add_l1s2 +0x100001BA5 0x0000002C [ 2] add_l1ns2 +0x100001BD1 0x0000000E [ 2] tmp1 +0x100001BDF 0x00000007 [ 2] add_l1ms2 +0x100001BE6 0x00000031 [ 2] add_l1ms2n +0x100001C17 0x00000024 [ 2] add_l1ms2m +0x100001C3B 0x00000007 [ 2] add_s1l2 +0x100001C42 0x0000002C [ 2] add_s1l2n +0x100001C6E 0x0000000E [ 2] tmp2 +0x100001C7C 0x00000007 [ 2] add_s1l2m +0x100001C83 0x00000037 [ 2] add_s1nl2m +0x100001CBA 0x00000024 [ 2] add_s1ml2m +0x100001CDE 0x00000007 [ 2] add_l1l2 +0x100001CE5 0x00000007 [ 2] add_l1nl2 +0x100001CEC 0x00000024 [ 2] add_l1nl2n +0x100001D10 0x00000037 [ 2] add_l1nl2m +0x100001D47 0x00000007 [ 2] add_l1ml2 +0x100001D4E 0x00000031 [ 2] add_l1ml2n +0x100001D7F 0x00000024 [ 2] add_l1ml2m +0x100001DA3 0x00000066 [ 2] rawAddLL +0x100001E09 0x0000002B [ 2] rawAddLL_sq +0x100001E34 0x00000001 [ 2] rawAddLL_done +0x100001E35 0x0000006A [ 2] rawAddLS +0x100001E9F 0x0000002B [ 2] rawAddLS_sq +0x100001ECA 0x00000001 [ 2] rawAddLS_done +0x100001ECB 0x00000018 [ 2] _Fr_sub +0x100001EE3 0x0000000D [ 2] sub_s1s2 +0x100001EF0 0x00000011 [ 2] sub_manageOverflow +0x100001F01 0x0000000B [ 2] sub_l1 +0x100001F0C 0x00000007 [ 2] sub_l1s2 +0x100001F13 0x0000002C [ 2] sub_l1ns2 +0x100001F3F 0x0000000E [ 2] tmp3 +0x100001F4D 0x00000007 [ 2] sub_l1ms2 +0x100001F54 0x00000031 [ 2] sub_l1ms2n +0x100001F85 0x00000024 [ 2] sub_l1ms2m +0x100001FA9 0x00000007 [ 2] sub_s1l2 +0x100001FB0 0x00000026 [ 2] sub_s1l2n +0x100001FD6 0x0000001A [ 2] tmp4 +0x100001FF0 0x00000007 [ 2] sub_s1l2m +0x100001FF7 0x00000037 [ 2] sub_s1nl2m +0x10000202E 0x00000024 [ 2] sub_s1ml2m +0x100002052 0x00000007 [ 2] sub_l1l2 +0x100002059 0x00000007 [ 2] sub_l1nl2 +0x100002060 0x00000024 [ 2] sub_l1nl2n +0x100002084 0x00000037 [ 2] sub_l1nl2m +0x1000020BB 0x00000007 [ 2] sub_l1ml2 +0x1000020C2 0x00000031 [ 2] sub_l1ml2n +0x1000020F3 0x00000024 [ 2] sub_l1ml2m +0x100002117 0x00000031 [ 2] rawSubLS +0x100002148 0x0000002B [ 2] rawSubLS_aq +0x100002173 0x00000001 [ 2] rawSubLS_done +0x100002174 0x0000002F [ 2] rawSubSL +0x1000021A3 0x0000002B [ 2] rawSubSL_aq +0x1000021CE 0x00000001 [ 2] rawSubSL_done +0x1000021CF 0x0000002F [ 2] rawSubLL +0x1000021FE 0x0000002B [ 2] rawSubLL_aq +0x100002229 0x00000001 [ 2] rawSubLL_done +0x10000222A 0x0000009C [ 2] rawNegLS +0x1000022C6 0x00000001 [ 2] rawNegSL_done +0x1000022C7 0x0000000A [ 2] _Fr_neg +0x1000022D1 0x00000008 [ 2] neg_s +0x1000022D9 0x0000000E [ 2] neg_manageOverflow +0x1000022E7 0x00000019 [ 2] neg_l +0x100002300 0x0000002A [ 2] rawNegL +0x10000232A 0x0000003B [ 2] doNegate +0x100002365 0x00000018 [ 2] _Fr_mul +0x10000237D 0x0000000E [ 2] mul_s1s2 +0x10000238B 0x00000014 [ 2] mul_manageOverflow +0x10000239F 0x0000000B [ 2] mul_l1 +0x1000023AA 0x0000000B [ 2] mul_l1s2 +0x1000023B5 0x00000007 [ 2] mul_l1ns2 +0x1000023BC 0x00000033 [ 2] mul_l1ns2n +0x1000023EF 0x0000000A [ 2] tmp5 +0x1000023F9 0x0000001A [ 2] tmp6 +0x100002413 0x00000024 [ 2] mul_l1ns2m +0x100002437 0x00000007 [ 2] mul_l1ms2 +0x10000243E 0x00000033 [ 2] mul_l1ms2n +0x100002471 0x0000000A [ 2] tmp7 +0x10000247B 0x00000001 [ 2] tmp8 +0x10000247C 0x00000024 [ 2] mul_l1ms2m +0x1000024A0 0x0000000B [ 2] mul_s1l2 +0x1000024AB 0x00000007 [ 2] mul_s1nl2 +0x1000024B2 0x00000033 [ 2] mul_s1nl2n +0x1000024E5 0x0000000A [ 2] tmp9 +0x1000024EF 0x0000001A [ 2] tmp10 +0x100002509 0x00000033 [ 2] mul_s1nl2m +0x10000253C 0x0000000A [ 2] tmp11 +0x100002546 0x00000001 [ 2] tmp12 +0x100002547 0x00000007 [ 2] mul_s1ml2 +0x10000254E 0x00000024 [ 2] mul_s1ml2n +0x100002572 0x00000024 [ 2] mul_s1ml2m +0x100002596 0x00000007 [ 2] mul_l1l2 +0x10000259D 0x00000007 [ 2] mul_l1nl2 +0x1000025A4 0x0000003D [ 2] mul_l1nl2n +0x1000025E1 0x00000024 [ 2] mul_l1nl2m +0x100002605 0x00000007 [ 2] mul_l1ml2 +0x10000260C 0x00000024 [ 2] mul_l1ml2n +0x100002630 0x00000024 [ 2] mul_l1ml2m +0x100002654 0x0000001C [ 2] _Fr_band +0x100002670 0x00000019 [ 2] and_s1s2 +0x100002689 0x00000012 [ 2] tmp13 +0x10000269B 0x00000054 [ 2] tmp14 +0x1000026EF 0x0000000B [ 2] and_l1 +0x1000026FA 0x0000000B [ 2] and_l1s2 +0x100002705 0x00000044 [ 2] and_l1ns2 +0x100002749 0x00000054 [ 2] tmp15 +0x10000279D 0x00000059 [ 2] and_l1ms2 +0x1000027F6 0x00000054 [ 2] tmp16 +0x10000284A 0x0000000B [ 2] and_s1l2 +0x100002855 0x00000044 [ 2] and_s1l2n +0x100002899 0x00000054 [ 2] tmp17 +0x1000028ED 0x00000053 [ 2] and_s1l2m +0x100002940 0x00000054 [ 2] tmp18 +0x100002994 0x00000016 [ 2] and_l1l2 +0x1000029AA 0x00000044 [ 2] and_l1nl2n +0x1000029EE 0x00000054 [ 2] tmp19 +0x100002A42 0x00000053 [ 2] and_l1nl2m +0x100002A95 0x00000054 [ 2] tmp20 +0x100002AE9 0x0000000B [ 2] and_l1ml2 +0x100002AF4 0x00000059 [ 2] and_l1ml2n +0x100002B4D 0x00000054 [ 2] tmp21 +0x100002BA1 0x00000068 [ 2] and_l1ml2m +0x100002C09 0x00000054 [ 2] tmp22 +0x100002C5D 0x0000009F [ 3] __Z14Fr_str2elementP9FrElementPc +0x100002CFC 0x0000015A [ 3] __Z14Fr_element2strP9FrElement +0x100002E56 0x00000006 [ 5] __Znam +0x100002E5C 0x00000006 [ 4] ___gmpz_add +0x100002E62 0x00000006 [ 4] ___gmpz_clear +0x100002E68 0x00000006 [ 4] ___gmpz_export +0x100002E6E 0x00000006 [ 4] ___gmpz_get_str +0x100002E74 0x00000006 [ 4] ___gmpz_import +0x100002E7A 0x00000006 [ 4] ___gmpz_init +0x100002E80 0x00000006 [ 4] ___gmpz_init_set_si +0x100002E86 0x00000006 [ 4] ___gmpz_set_str +0x100002E8C 0x00000006 [ 6] _printf +0x100002E92 0x00000006 [ 6] _sprintf +0x100002E98 0x00000010 [ 0] helper helper +0x100002EA8 0x0000000A [ 4] ___gmpz_add +0x100002EB2 0x0000000A [ 4] ___gmpz_clear +0x100002EBC 0x0000000A [ 4] ___gmpz_export +0x100002EC6 0x0000000A [ 4] ___gmpz_get_str +0x100002ED0 0x0000000A [ 4] ___gmpz_import +0x100002EDA 0x0000000A [ 4] ___gmpz_init +0x100002EE4 0x0000000A [ 4] ___gmpz_init_set_si +0x100002EEE 0x0000000A [ 4] ___gmpz_set_str +0x100002EF8 0x0000000A [ 6] _printf +0x100002F02 0x0000000A [ 6] _sprintf +0x100002F0C 0x00000018 [ 1] literal string: %llu, %llu, %llu, %llu\n +0x100002F24 0x00000003 [ 3] literal string: %d +0x100002F28 0x00000018 [ 1] CIE +0x100002F40 0x00000038 [ 1] FDE for: _main +0x100002F78 0x00000018 [ 3] CIE +0x100002F90 0x00000038 [ 3] FDE for: __Z14Fr_str2elementP9FrElementPc +0x100002FC8 0x00000038 [ 3] FDE for: __Z14Fr_element2strP9FrElement +0x100003000 0x00000008 [ 0] non-lazy-pointer-to-local: dyld_stub_binder +0x100004000 0x00000008 [ 5] __Znam +0x100004008 0x00000008 [ 4] ___gmpz_add +0x100004010 0x00000008 [ 4] ___gmpz_clear +0x100004018 0x00000008 [ 4] ___gmpz_export +0x100004020 0x00000008 [ 4] ___gmpz_get_str +0x100004028 0x00000008 [ 4] ___gmpz_import +0x100004030 0x00000008 [ 4] ___gmpz_init +0x100004038 0x00000008 [ 4] ___gmpz_init_set_si +0x100004040 0x00000008 [ 4] ___gmpz_set_str +0x100004048 0x00000008 [ 6] _printf +0x100004050 0x00000008 [ 6] _sprintf +0x100004058 0x00000008 [ 0] __dyld_private +0x100004060 0x00000008 [ 2] _Fr_q +0x100004068 0x00000020 [ 2] q +0x100004088 0x00000020 [ 2] R2 +0x1000040A8 0x00000020 [ 2] R3 +0x1000040C8 0x00000008 [ 2] lboMask diff --git a/c/buildasm/sub.asm.ejs b/c/buildasm/sub.asm.ejs new file mode 100644 index 0000000..5a8d199 --- /dev/null +++ b/c/buildasm/sub.asm.ejs @@ -0,0 +1,317 @@ +<% function subS1S2() { %> + xor rdx, rdx + mov edx, eax + sub edx, ecx + jo sub_manageOverflow ; rsi already is the 64bits result + + mov [rdi], rdx ; not necessary to adjust so just save and return + ret + +sub_manageOverflow: ; Do the operation in 64 bits + push rsi + movsx rsi, eax + movsx rdx, ecx + sub rsi, rdx + call rawCopyS2L + pop rsi + ret +<% } %> + +<% function subL1S2(t) { %> + add rsi, 8 + movsx rdx, ecx + add rdi, 8 + cmp rdx, 0 + <% const rawSubLabel = global.tmpLabel() %> + jns <%= rawSubLabel %> + neg rdx + call rawAddLS + sub rdi, 8 + sub rsi, 8 + ret +<%= rawSubLabel %>: + call rawSubLS + sub rdi, 8 + sub rsi, 8 + ret +<% } %> + + +<% function subS1L2(t) { %> + cmp eax, 0 + <% const s1NegLabel = global.tmpLabel() %> + js <%= s1NegLabel %> + + ; First Operand is positive + push rsi + add rdi, 8 + movsx rsi, eax + add rdx, 8 + call rawSubSL + sub rdi, 8 + pop rsi + ret + +<%= s1NegLabel %>: ; First operand is negative + push rsi + lea rsi, [rdx + 8] + movsx rdx, eax + add rdi, 8 + neg rdx + call rawNegLS + sub rdi, 8 + pop rsi + ret +<% } %> + + +<% function subL1L2(t) { %> + add rdi, 8 + add rsi, 8 + add rdx, 8 + call rawSubLL + sub rdi, 8 + sub rsi, 8 + ret +<% } %> + +;;;;;;;;;;;;;;;;;;;;;; +; sub +;;;;;;;;;;;;;;;;;;;;;; +; Substracts two elements of any kind +; Params: +; rsi <= Pointer to element 1 +; rdx <= Pointer to element 2 +; rdi <= Pointer to result +; Modified Registers: +; r8, r9, 10, r11, rax, rcx +;;;;;;;;;;;;;;;;;;;;;; +<%=name%>_sub: + mov rax, [rsi] + mov rcx, [rdx] + bt rax, 63 ; Check if is long first operand + jc sub_l1 + bt rcx, 63 ; Check if is long second operand + jc sub_s1l2 + +sub_s1s2: ; Both operands are short +<%= subS1S2() %> +sub_l1: + bt rcx, 63 ; Check if is short second operand + jc sub_l1l2 + +;;;;;;;; +sub_l1s2: + bt rax, 62 ; check if montgomery first + jc sub_l1ms2 +sub_l1ns2: +<%= global.setTypeDest("0x80"); %> +<%= subL1S2(); %> + +sub_l1ms2: + bt rcx, 62 ; check if montgomery second + jc sub_l1ms2m +sub_l1ms2n: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_b() %> +<%= subL1L2() %> + +sub_l1ms2m: +<%= global.setTypeDest("0xC0"); %> +<%= subL1L2() %> + + +;;;;;;;; +sub_s1l2: + bt rcx, 62 ; check if montgomery first + jc sub_s1l2m +sub_s1l2n: +<%= global.setTypeDest("0x80"); %> +<%= subS1L2(); %> + +sub_s1l2m: + bt rax, 62 ; check if montgomery second + jc sub_s1ml2m +sub_s1nl2m: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_a() %> +<%= subL1L2() %> + +sub_s1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= subL1L2() %> + +;;;; +sub_l1l2: + bt rax, 62 ; check if montgomery first + jc sub_l1ml2 +sub_l1nl2: + bt rcx, 62 ; check if montgomery second + jc sub_l1nl2m +sub_l1nl2n: +<%= global.setTypeDest("0x80"); %> +<%= subL1L2() %> + +sub_l1nl2m: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_a(); %> +<%= subL1L2() %> + +sub_l1ml2: + bt rcx, 62 ; check if montgomery seconf + jc sub_l1ml2m +sub_l1ml2n: +<%= global.setTypeDest("0xC0"); %> +<%= global.toMont_b(); %> +<%= subL1L2() %> + +sub_l1ml2m: +<%= global.setTypeDest("0xC0"); %> +<%= subL1L2() %> + + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubLS +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a short element from the long element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to the long data of element 1 where will be substracted +; rdx <= Value to be substracted +; [rdi] = [rsi] - rdx +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubLS: + ; Substract first digit + + mov rax, [rsi] + sub rax, rdx + mov [rdi] ,rax + mov rdx, 0 +<% for (let i=1; i + mov rax, [rsi + <%=i*8%>] + sbb rax, rdx + mov [rdi + <%=i*8%>], rax +<% } %> + jnc rawSubLS_done ; if overflow, add q + + ; Add q +rawSubLS_aq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> [rdi + <%=i*8%>], rax +<% } %> +rawSubLS_done: + ret + + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubSL +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element from a short element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Value from where will bo substracted +; rdx <= Pointer to long of the value to be substracted +; +; [rdi] = rsi - [rdx] +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubSL: + ; Substract first digit + sub rsi, [rdx] + mov [rdi] ,rsi + +<% for (let i=1; i + mov rax, 0 + sbb rax, [rdx + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + jnc rawSubSL_done ; if overflow, add q + + ; Add q +rawSubSL_aq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> [rdi + <%=i*8%>], rax +<% } %> +rawSubSL_done: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; rawSubLL +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element from a short element +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to long from where substracted +; rdx <= Pointer to long of the value to be substracted +; +; [rdi] = [rsi] - [rdx] +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawSubLL: + ; Substract first digit +<% for (let i=0; i + mov rax, [rsi + <%=i*8%>] + <%= i==0 ? "sub" : "sbb" %> rax, [rdx + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + jnc rawSubLL_done ; if overflow, add q + + ; Add q +rawSubLL_aq: +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> [rdi + <%=i*8%>], rax +<% } %> +rawSubLL_done: + ret + +;;;;;;;;;;;;;;;;;;;;;; +; rawNegLS +;;;;;;;;;;;;;;;;;;;;;; +; Substracts a long element and a short element form 0 +; Params: +; rdi <= Pointer to the long data of result +; rsi <= Pointer to long from where substracted +; rdx <= short value to be substracted too +; +; [rdi] = -[rsi] - rdx +; Modified Registers: +; rax +;;;;;;;;;;;;;;;;;;;;;; +rawNegLS: + mov rax, [q] + sub rax, rdx + mov [rdi], rax +<% for (let i=1; i + mov rax, [q + <%=i*8%> ] + sbb rax, 0 + mov [rdi + <%=i*8%>], rax +<% } %> + setc dl + +<% for (let i=0; i + mov rax, [rdi + <%=i*8%> ] + <%= i==0 ? "sub" : "sbb" %> rax, [rsi + <%=i*8%>] + mov [rdi + <%=i*8%>], rax +<% } %> + + setc dh + or dl, dh + jz rawNegSL_done + + ; it is a negative value, so add q +<% for (let i=0; i + mov rax, [q + <%=i*8%>] + <%= i==0 ? "add" : "adc" %> [rdi + <%=i*8%>], rax +<% } %> + +rawNegSL_done: + ret + + diff --git a/c/buildasm/tester b/c/buildasm/tester new file mode 100755 index 0000000000000000000000000000000000000000..93428e64d3532fb410fbe88f31326454a02cc67a GIT binary patch literal 1107772 zcmeFad3=?{^*^2f!H8($9`~rI!Hu|}0k=TC_JYJlB}&}_B8sgdLZVcQ216{@>$TL1 zVzr8`)!0Q-x5f=Fi`-zXMr$?hSBv(E7i(Nv<5Ky)-{;KC^E`Kn^z;3E|M|Usyk6nn znK^Uj%$c*znR%Z3{FfhovsqD5@!+DOmO({DMcd-9zO<;Qtz}PqD=OLve^LB3Hr9{( zZsd%}Dc@sl_+N3jn72ecRT!YLadKqJZz?v&e#xx4{)DsXOP{9rKEfjMAIn*s)CTi^W8?I>O>-`s zb%85~>FYj6@zsNG{Kv9#Qp+J)QPtQuV`k&|bEaK9L))|ItGrP0^_-wRSq|dUUjF}- zlNu~wW8?ATCXZ|U&i76_Riy>;AaYV}V6D8EGI82JRy8(WaEZ^g!uZ-6c3Gv-a7F}ta;Y1+Bj z`1%dLHT!B`mV@+VV{Ej9nTBk9$!evqZ-@f0JkUBcHqLHtJa_Kg(S`7hR(#a~LW1}# zA8fP5cX$DOeFk5J?SM~1s?=oT^X>Vh2`8NxIevm_7YwD+Rn%b=A7%bK`d%#)PY~B$ z@E0-%z)eNlRD3Slx~RxId1z7Pior#tTMsMpFtNTJh80zQP%Ji%G)^5pyr_GNqN2OE z+p=isi-U{swWuC{@{hWRzmp+9C!^tNQ=RW)>bl`YFKmM;D!kGXL#@Khp8tp4Yzq*As_5(DC~oZ}{cM-G3sE*f>o?50r{Ts&JS19kX%@FCR) zgT@QbRl4bKUH@IEQJdxTpFUmsLm5Vm;kUU>=S@H0fP;?+;;9MZDJsTl6#G0upHqJ{ zw`s=32amUX04{v14fjLI_7nQibCesG+Bo;%LmUdK9r;vVJiMqLYe@F6%ys|&|NVcD z0}avGduOla|Iyg|{>Az=_kT7<+;z{IBDYuUpeC zZOO8ml4Xx34bs*PC9zTBZ z@K`dsccd>06ibLAvr{zQz<$x#%jkO71a{S?bxLyUhDxCf=%cX)FWNfaD{9`XlgpH; zKxZ!+uj>=KW6wo_;s-#n*z~nCO0C?8f6>?~=@yN>^2zq~(asB253V^%dCEMuTh_Gr=3`*U_|6Bxh(CiXIiFOwO7Kw73ui3}K^hO}}jHC9Itt^jqyB06jydKqFyeI~~@k@C;vc7l~zsB(OYkyrh zA>i?TiRlYp7bcswHCUD28_<&3CRDWqRhEMR?#CK7kQh#K=q`hcz|D9aYx>54m9dr4 z#OS?GL3O-jJrg|g^S)WsXp z;IU9JG7rc)f<(R!lS2X@p9nEn&WMv7xql4l$tK%}t2J=f=7o#(Es6*?qVXb7S00U* zmMv!uxUm*Oz43+c_*w9k1Hh9bB8sA7piqaXnuL*ZRBYVF?sZ|EaU+#IT3Z7V+pg@< z$Y;=Qk``TB_UQ40#$@*AG|7aIc2Fkh5Y@RPmea>yACMsA2u0NE(ROD`Jm` z7Y-T&J;R7Q=55HFh(Tc>$gWz5dmCK<1qd6&kXi!9|l|X)gHYTVTO$3}6i< zh6X9R@{qNSZiNh=<3+9g#Z5a9gkJ|WZDGG|7WQyf8iFf}LEqRZAZ1x?MSB!(8fw`TU(tI48&_Iv*a^gTNSP`rGWD@OA3`uc^@1z7zP0p zH1sc`7s48+yuSr1#}`|9HFGw!uPr)<1g2_-?BM7t9idgjcXUY0orlI_O7bxIITL6n=XZ_{;^ga&ZMDM)eO_Bqy4H{X-d@|?^i{u6?%f{ zHSt_6pU9vH!%sS2KkJ6;=Sj2l^Lv7QZEgJ=EuXxlexA~#pQmoFpOY`s&jt~xwY8_2 zaZWd%Q})vK@0-svMrrv>^Lf@;T0Yx+o-<9$jhpG`R73AHL+`nU-sy(k^9;Q+487+Y zdM_~a&NTF1Xz2Zcq4$S|-ir*K7t3cfvHd{^{Gze?*&N<4&NIb*q;+wNS%p-~B7EaN zwo{H5UvCN&rqhrag;NvK;JTt2nFPK~QNwY~(g5&C1s1wtPG|QfE!r01TwaO)fU^cV z1w(7W=Jnnh2CG%DtwUffEvU^1YvPKHJ8tU0?!?x7vXF0D;D*rBtt}$MrVo*z0~s?p}<l_QeFe598D~dVxp~uwTaQg81$p@jeXfDwU474zHhng?}N}JJHKi0 zV5XJ8uPU%bypyKH_p#=9O(m0n=7zIe5{UhoEc{~ z9Y>0ZwsPq@`mN)2K6mdUd}FPh&uo93kvfj_!8ms*utogx*3$P9GtMJYTq4CpTdj_B zg&F5)?aEp^&gUE4d{)ZjwGYM_qrevNEFI@gGfth3BgI79Y#nDuGtNsRgeKP7aSs33 zjq`mSNBUr#7Zlhc9;)L!Z^n7AoT!#aG10b6$9d>Gs6^L`v@2`vIG6s*jq~x>A_vk3 zz!xg8MSO=KZrfb@qnW%hk_$g?fsv}gH5nkL&s9~)g z;SXOrj-9R}NFShiUVs(lW{Q3V(f4jeBn>N~iO6DDndcELv-&axUu+Ry{gp%f&6gw{ z&;a|9f(fQS3Z}?MtpB-U{RnVLV4ZKURw{VXVx9c8!`iM`lkB~>f(fQGfvI;E?IXf} zV+;XO1dz;Nt+UpxnuErAh+&V7M9dD>LOs8y-@%%xjo5XX4*&edcCe=AjzEVpBf!u3 z9iDO>%1z_Nfey!+x?lPou6G@18c5{Pfex3Lx{Le{XSxovP2(1U4tJWmqx=s0yADigB9Ez{0=I;6MX0z3$4{ILwjV!!Nsa&vz zPWepT1#v@K18?6IjYqmP&5#)V`(xPyK4~+2BG$PniJ0qnNPKrR-rN<{e5*=2pgtN3 zD6~D!z-l@Eq;Cl(2RVi2p%H|r2>zW!v zvhJemL3BINwG;WU5&$Fo-NsgYF$5K@{Uw)$GPRfmLTv5w3LzwrS&6-!gpA%!hYc=T z!C81eI+U#-X7nRyZwRNwkC_C(|asc<4Dz*)nzx5h|3=QnYOicP5qhU&Qhru z*FYvO*ubzn8bet3aWwW!G}cy2GaXwJ6>ELWp~QLlVB|)%2FCznx|Q_rtSCiS?@){Z zHY!iIMS)`{M#qlk(Espau-21ed#l*ROTHA|N|s|ZVB>8Z2Pul?OA&59y$uE%h6zOD z<=C#bNOC^bun3!Et#TUSu2_?ge;jUwWOtOHoqp08B7e5 zi6L>!=Ue0Z(H7e#&1Ma|Y%g78HWP5xl2AGlb!Jiwl#x&KXZ2HddLOZUW+I}`gO3_q z^!Rx)pV3wL4nhvZhu1cWEA#YniayunY?SL_8#059sKih}6>A1rtr!bZfG#d1wFv}@MLV;)t(^*qUus5hUq%&i2mXqv zZCj^;>qlFMSO+;*`kWe=Si*s$@u$Se#UGLOL|Y$-8uu6&UNnv=V<_MY(b$)ysg*<^ zcp}v(UZKTWQ=Ena8noJC5d(6Xv?T(cXiNITA1*zYa3u5)+16?7A`J-vwGFSC4cX~c zf?uIi-XI-av8KFFIb(nHnG9QCp$|57&QzwhBi!g!HKZ=(Z8$)3BiUwqTmV%gd&DAX z=raByJthZx5kt^;Lyv}lcRkZIgy9sSl#vP&a*xFH(@@l`pSzJ?~VlwG~eM1fc*1krqabaE{i?WWGnsp)#I{>OIud3!U%SW$7HP)#$ss4 z=A<>Up*XX``DL6oK`M_KJRA}eWh`SI{ISd~FV!gIy)D=(@|5z@vfYiOqmp|`dDrgG zkx|Bg=i+;7#4FC+Bdce}U5BaqA(Tw!QGfQmpI}%&gyJa#?X~wRQc0K*Ol_>(dlm&f zN6NOT-X959WOZgs?=F;~Z2j?VV)k%@_)O+alRvE+W}>bWX`~J~=Jsf;ZrSm%$n7Bb zSy3xx#-Tjwt;k~pzDdH^FqruUXbc~EjTt%;EKF&ElrrqsQubsX<@ zu1@QknTSX2*^qD(nEKhisHm{#`4!qM+&>5KUR!-OD8FZ8xWjR9<~VXy6xTOa_G7as zNlKixDr(7>UB{T%P&99Vk!BIjB8VymAlIbZE&KRLPF5r)MHrf~M@weLI${gcr8QYf zZpbXp;psvLkP|reeL;4DgUWmt?e|c8_ zMav!l@AEMIy})jF8mxUmuB2b;dhc#*MX|H%-Ve)wRzOydyw=_=q^Fi26^pp(2!{8LX~H#_9hvL zhPMSO-t0|)sPP)e_6O4K!!5PbB$IAK#C87$5sdFz*F>FW*qG4Wr17P;#A**=^x_Pp zn!??ObM+FK*R0sm!MIyF<-ECb2zsESm0X^?i~P^xwp5yGOQVVUD)}C(FU{EzvrTzVA+3a|=4iCh z-1D&+b)3jLpQtaSSG>7`32j9`N2VHFJ42juaGC2;gzuq)Qcnb9Y$55OsW&|kkZw2; zC_`NmPUOksV|9?>NKYL8C0>`r5<-8PyT@^_n({`K$x4ntX8yT<<2nNJ*8V6MM7FDWtwnPOoQeC&esGxleE@qCBm`#Ve2RJg@vO*En zlBSQTVl3nPZGJkhK7;Xs8k5E6UrBPuSQ;zi5FHWKTbVl%$xV68N99{f40p~zI2r;t zPA!aM8%aABpkqb=$5(I#1?U+5&#+8<{h=wF8zh`cs);hydJu~VB1;=VIF7pA{zS~g7RtfcNXJYx`ez*Q|pLK)kXu~>)m%;Nh0x| z(Tu7dOkuf*vc|HLC;2|l_FF3lr-kPG7HzCq@GeMMp}C*YTe$7mLT!1xUP)djceLt= zsM`JmP;nsPVg+R8X}RNq$%84oC=z3bu;{d&+)=SvoFubMoOrg4bUuM*Um%ZU&XOz= ztA0vF6n99nr6<@6fjomh*P#?0N>PT9G?5nW@373Y4#4b{6nZ)i(Ygxs%E-5=iL?G5 zBkLI|dT}~w19rVi1g^S5LRj6ps@60;fl$do$0tsS#-dZA@rhIMIW-zTWhO|QiS{%| zn=Np9ApzIsL~4M|TXaneL`fTAy)ag0lv*Mk5Zt~1qv-z1c&Oo|NOwsqc@EmTrov^1 z7i^fRsgZWcDm=1GK9(%yM|_Et%sHVl;e*YA%bvI{sr6F~D;O@smk1hj-lIJ_wTI;C zk(-bNhww9@J!GgvqC>XbdbFn2Z-xYj%rKkUly{ZlvI+J}0>ohAQ?;l>rM#0_M3n!1 zG2ITwSXA5Xr$w}HpiT$@wrv7+7UefwK;`7+?}3vG){uLKna)6o_(60ibcP2X4bsh( zFW;4Uv|ux+E_?Y<@U<>_f(E3#DE&!ZKUxLQ9`U2b3%x`0>*rD6Uxn@GauDOYfbio% zoDw8hLPNxsxE&&g%hYS&lRiBJYF$(1;y&xef|{nFF|a6`eqn^}6ihVY&kBkx>cGV zxvZqxC#v+V{l8o1(_vR64VdH?#Q#p~|*W#4dXo!?i~v?GV5sQ~fdiV!|l9lyPO z6Q-=v$ykh?LV|lKk}lcS)y&}oOgK0PM-}GdzAJ^w{MPyDqNWo;9o8Y`{fyx|7%rR? zA^S5;gK3>6tuha@04j&FE~tiBXYLP(8n zDW?@8r$)3E;N}G^jc=>-XvAvVX0RHOEej$5+u3I@XyEYgy zYABdqZr9a6qU!=s5_;7Mz3P}0i?jo>o$GrktT%IhCbu(FjX8>dME021d5{glq2#34 zJJA?&&ak-HkBBKUEU1?9Gffn-&Nz3ZvSJT`tKkZp^41}y$TX@Z zxNY{$5@^WIJ8gJ#l!iO$%wa+|IF;4sT=engvp%-kJ6%3|2-@_vsJwryh9#;DE0fxo zcVsKgiGY`6q$uV0(cRZAb|mRA#E4J)$mqg%F$g;O+c>WWdoL}T%i^Nfl%SbF0`502 z19O(5S3CCemm)jn_NBl62e8p6u#ILF{FAS>rT7l^>EbQo?k6V%%6!A?J2jl zz)R`kBA(^&Zh+<@CGp8wEG2(FkZdOwnftnsb&gT*lhMTRL4qpwiDAhv82_5Qs`nm_ zSdibiR6$Z+vkb!nWYClHo+UByYGCKUSddp)d$-*701Zf?R@t6Mg?rv8J<*xwj{8pO z`2*84bBXOXB;4)HyaWD0_Ig;HK^uC4ww)Pccu6x;`V}gJZ z!!^O=L}F%;q00Mq#Ea$81L)6Qh_3u%aP;v&?&<~fvwaTJO&Q?9r&zh^?jh7HMO8Zg z!pPG|5TyF@-UP!a?ca4YIBBL6^4LhX!aKYo!L&)xXC?@y?AH6Q{6QkELJVs$tJ2Q8rY8=j_`{Mj%r zcf0~cK&8B|WTRLeZ&2X){GM@|fs4K7ZNUw_L9r4j?8OPe*+HBdgMRuNzUF5AF(=M~ zhOx|k$B5e^2W9O|{^%svBfKMrZbZkhKzCb2Igl^;pY6DiD&x5phLSU6S)ilH2Y)nj zdS1xF#p)I#TXa2OC_&47`Ch8>E!B%D#{`KtT(7&kb{!+-J*Qc$_W0}y#Sv8nQBr`j z7Vxd&bH?KjMv zczVM5t;M5BHVWi@mPKN$<}ZROw&1$PJdG$9nWPJPERtQh`Y6$+U4>%!D-&}J)iO4n zxN?%9ACrl#enWiGp<0#l4ti@4&dXxB-ZOvw#%A8iH-i*swz4n@Ffj8cAX=73OdzW% z?_!BOaK}abgosHs+`aEOP65Ee*X0o&%qiuKkYE5EV&ms!>N%=O4ZwGd79whA7V{JQ z1_SD+=yzpAtbVE#6Q(*=KMz;x37o2x{M2IXXUV~wU7q3k4eNcY7m_lYNrBB789cM< z{M~Q$U%~T~A9=cvoZJQYUdTRGibT^sh1EWD*c$4O_%0&1IjR^=@H?XdwGoG@yO8Ex&}_MprO}mG2TSkd zAiY^|2mdX1F8?ogneRe@|3|$0IdTTsb5&o2^@bN^ZdxC?Gf;YeO>I(_>_FmYcY!5I zg6{&o<2olIZyW7>>}6q?v=+a~RvdJ()tab-nHH0pl=my_6@dz9Q{E8Nw7F)vgS+wItAti`?bPB#c|^F z8UVxV65=fw4~w@z1-t_QjJIfK`QKzk93AK_5Vc3zeQ%*RY1I_~z_@~T-xaj3nUWoB zgGuDZ=NkrYf)OFM(LwlLd6I40RX!(&pqp&+uEg;axVP3J7{IJ|j$gro7`M zLd4+ML%Ed3(WHVAon99N!Lpbi0-uSBr0-zq%PqOzwOG3P;VQD<&wICvw_#oc!GEHj zlLrFsmRV;$b&UT|s~PKRsA^A!a_C-wyqX#VA>}$LGB09ghWnn90NYI(Fh4WjBel$_ z;ScpX?BlSvxGJ(Q(%7Jg)hTa(0mb&3kvD9^+um3>0We@Ii|hm3hRF;OcqLb}!FHW; zGf#UnS0u`9A|^j-sg!j0zb?)=^TD zIoUPlZ$c@xUp!Y}2<~1P?}=!XA_NG=DHgvC+wevaGooLE#B!JmxyEn?(?#L*`L3wS zH`2GyWdA?=J@e|~K^#pS3?v?R1F$ z;J`$Gt=@wtwkv8_6=qz%lID&nEKml`nDEvIs21gTQ%|jEsFIx6NF3#B@X^I$C5k%j zZWe!M>^Lqk5kVc_mLS=@w}^&}XkAk+_d$(SS+Jo3cXXn$r~2jS@{vCISb`XnH>0(L z`HytMc(2oAP*s)d7R9g+G!{GFB{0j0b`JsE7gT*vyO?*ie z8hXEjcXGgk%7_-9=))SI?A=FNEzL4z5c*d$nk7^$OB$DKIra0&$+&VU)>h8J22n*wc#nuCRE=dXN?dP~WDAM~T znUYu{3``{SL!S`Qg}F_;%oc9R#=Q5p!pA%da{$=Ud%d(~FU(lODZ4OMf{uS)*XF>` z+LY#9o5iy4_19)>U?rN&8E`7HRGCn>G@6LC80qTPLx~pHf0L#N$C9?n!s?BBc0xv4dk# z8`zWWgW{yvyTyo2(Hjz_f91okfPU zub~Dv)K}>fZ_Jbl=daQ|kHDT0?s}pWF%iAmYdN?6Ghl=bEJhzj-#X6j1RfLd=5Q+} z*tRh>m${g&2sIM3(T~*x@^Y9wPYWe1>^BQ^+*%IfZ^rTj@JqW00`5gXTgr<`(GTEr zue@T|KtzuvFdUYf2HSHq5YcA{=td$U{LZ}A4b?&@_Yf{?%p)xZi2lCfUl1*OqA)-l zkt;)TmqX_wPeAzb&}*`BN?|07M)o2ef{lF3JCY54yl(a>;9=g};)l?UV1xsx9PyUO z!e(e{LK0?fvyy^%!;=(ekdl~Eiq9k$U}s8(hUPy57Iv% zPiN}W!F3o8YYo=n{;%C@rZ&DP)vd|lu2*fam${3=UJyD?AB;vX%TkpOpZT%6G|qG0 zh|kAcNqF;y0Y26R-OSD3$1p#0^i8*k+>;m2Rn~3T1 zbDQW$$R3`qHRrT}oH*)VR-j=~cLshwV^3mq_fzoI-3Q`#KE_E9A@`s#xu;0vD&*cL z@uos;K~2}gej#;Bmd8YT%5F(AlIsZ|d@V&#nnS_=iWIT2Y=+8mo)TU+V+#d*-CC9M zUPn+x1tWxB)yF4l#CyI-m6MkL8@`;xAruSLfU<-kO2NJ!o?#a!?ai;mcJyE%6o=P4 zNfg9F$}8nWIOUr$<)#Z2Cgtr3w1NG_uOwZ{*-NKeQJeq;HOyEJW@~;_c=H5`lVYDt ziv5!Vlwk`dK3KTFDftf*av}CYch#9A(ZAl@}Qnn+=rB{Pu)H$8{fu34$%c`St<5n+&R8yhZWTQ zFzmIlh}Jw~J+Q5#;gvi067`(FSIoj1s& zdHuQ*c*>afjw~#bcpyLv82eYZKBb6E47e zt|u<3a<4xX>Vm#=isO2D55d<&EDTwxD^V4)Qs)px zt<=_k!q*%t1%yNjAP^SL;-3S_MQfkS-BG>_d@XEHPKSf?b%6Gpa2OF8$OVE>p7r7P zY#8RWCJ%21eJd;HI9BHF7~Kg%!MVN&sr|3!dRM*<-!|9udNY+0p6Zfp<0DD=Skj4)wULj|af#F<%rgq&2Nnp%CDJ4GJjG0HU}t3h^w>+^ zucgt}55#iHDV9C9`YyXz?0AL?wC z$WblhJaHV{fvTJD(S0IMf=Zb@3MpS9n|{wj0o!V=4Sc@NloP1I7W|Vuh6{8?Wv>?f#CUVZ!Y2#-J$U1N`ON^CZC8v1U}N8c_^pmE+}mmq6$n- zr0H~Igk-J-ZVO`ccX3I=Sq+`2@rF-65@@Lwd*VVcZsbGHNc;>5aBGIY{g~sY5Go&9 zN6j_uUvSqd@?fK^N|7aNq#%Ff-xZ#ZjEjKgKxkUw2sbj*CULS8fd~Ia?n~_cAG*=J zv4hYC8;a4c5qRX6BYpbzNABaF_nuG}oZq!6oiE~G%}(0TNi0@jVAsd2nmd$LlKTn9 zV0L`*$u84o?UGq94@=;VM~?(OHs9#>#$3dZG~(udCkE_h3Xab>dXqpSDmppSdtdv^Sp3Rr7-)2GBF&x>$Jg@mo4Pxokf~M!`-&phZ%95$Jg3tdFhs zK6sy>f@rf2eAUC8ac8@oNbvL$`2|0WJ|EKt)+~d}6lcIvkzcrM8L~(HV!vW^dH#|} zEG&lN$CAF6&=@;R|4pcRGj$OU#G zoD76Q*ak^yMA{KL;Lib0$3kLfyeF#Bzit_tI?N9KIpt;tP20jhRgQG%pl&ItFONgT+5YALUhzZP1;1;ZJ zX)6X;Lr}I>^7m%d_#tcA5v+A<31eL@)`il+7%Sy1VNyUZprNmosa&|Z1>h?4S*t^X zqbp4|LzbTwb1nGM2c0zz7!NmppLP)5{}4qGZ!7@=1EGntA{@4llgw*y>;wf|<3D|s zo36^wfA5fH8+wTvZRChZlB@(7D__m(0VNAsKCk`EAB>)jYff2?ODGNnXdmQm zRqXD-PLo8I$Z;-6JwtC2SbyVl)$HW=UoAE~w;g@=#Vlao^R{iLyOi9vl4=PNQ{H(@ z%?T~#rsg?y-k^@Jt|lXI*Pz|y70wOpJQr-}7O1DDXs}tY!DduG61-S+e5~zgmhcih zejL!IAT);a`-_^kMuXPi#v+0OlhTJN!$KOS;#Ct*DGtFXSz1JrKxY!Q_tO^ONR$I; zgP5{cyr-C;v^6R3dVy;rTsFsqm_P=()H+C$LC)o&*_JNWFkeLOCP;qXwP;OFB_~J7 z_?&t&%JR8l(^OnvEVNbz_J{!NJqoKar;GP{IQ`fo8ck~~ACs4@VF{jOTU_7LhNQZC zVcJc|BEt+1lf%#67v)&KO*amaG&;!F_!33UlQ4&Z^l$Y?uos^%A!dugg$TIDfa{op zivx$|fyJvnmLj-Zf0y#FwG87My8eF8AB3iTqjDo2@8!E+x-A2`WxRuL>!-jZWDrrA zch9A~*nDTZ@V0iNTe}KAF1(f3v^`|+gKST{3YT3dGR5ayi5}!%JUm#H> z9IYvztmPJP6n}KU66Q<>r?AQ=X%#FqIE;m8M>pKktS#4&e@_;nMk+vZ_Y5A}eCl&H zf->d3^;^vMHgH}g1y4(_6NHHBT-9@0)d8faHWE~hQrZdM=ZxOq?U)E zNpRUVPp&g))yHc9X5YcNM6OjN6hIlB0b{`Ex~Q#1ZV|i()-GV}66s}UjbV62S~I;^CyyX9x$K-LrAhCOxO2kwpGIE5mdq_La4FAhZJ?J@8SC$IDVi{Kw!~ z&fU7WXg|ev1R!4KNS3yiOUVWg9|qK5VmA7EJFyL6zdYBbVSoAEsQUJ^?^o}YG2BJu z?8lWvj#A#&lFfHpz7Jh;AM_(&#pdsM?`7(L;M^gUhoV^cn~dq9Q4L_fzkvuvAXj0x zZgzcSZk5}PYLYNb=G+*juQeZiXZZ95WWXOae~@$_{G1DtDrM|W9`xeh9$3SEE)Xf$ zfH(=|zGwo(`!n57*3ieG@lbA<^>-|nnWT%ObD^HvB&fsa%1q>VF~sBB@$O9l^y73F zFNiKm#qZN@c}wzxEea>w&wOkmykYd2|Qvv|5vYBcm5ZEirbr|-8(<8tem zRdTy1&AqQPx4)q|hRvcJ1nU!0FKLnLH8NPpf!j2Rh@#JtFtfYO?!?-m;GSD0$t?3A z45prsS75L{_`L*F$u3t)e}gr*{I_wt$d>{?iDn!v_RY<{nlkdfAeNs7uz)6$B+3y1 zv16gUcf~Sa49#RWz4H@y7w+nSUzWO3R#PH?kGS;2;CE# z1obxM)X2Py6T8mQUY2bi9s&@+r6MQSG82nJS$QO$0pqXDA z*@(8-;VnhvP!x}v`Zvtu#Kfd@hTMk zixIc4V8vzJ|f*8WI{9iwQ+>yMp7o2jX|!#RBX4wMchxy*%|RV z#L%}87kxo3l*>ep-#cRyVq!1Y>;AIKjsZ{MGU|Fvibj&r=RB1?n-f?ghRsdz0lIv{ zs?8;GWeC?LWNA+Ob%BtSsO8F|sLCA3nb*Q4+V1C|);pCIh~f^CPg#M9zd%)P6xZ*E zN@|xnF)QD`RJz5KgAC-4xHxoBjCFN&YM-_;?BWe$1TMSNwa@~(^>A>xaY@N-*~14Y z>m+HEae<#DCZz=CcqH>3uY%GK89&RFv!Ypb~?{^jV2Cl z_acm?Fa`W#bFeml<`PgtA?(f{RLa739;W|r>y*}4vE2yMohSahS61F)$X-w43#=69 zgf@7-l8zi;5&XeI&!`IQr_JtA%@)= zW%+3d0N;nI%wSYtX6@ovk+0wlHAyEyyhYyLQF&{}^}R$hL}i_G}l zPh^jOcn<7Kw-W}x(2)aMngiQzV9x+-24csneOPY9?~qpGzmLC(Uk%^v@-!n_^6C}AA|u6>^dC(OuG zScOg-o4YnPCpR{CZfx$@*z9d=PH$}P*~lY&*$#ch__1|Ott>F`PXqqNI1kGk_rkxq zH5e`_LB<&UX6YWMM2P|R?RLpm`;~w)Yz@t;53-JU?Dha7H^THoI-Gqi7ken^Q(m9* zJ=XL2zaQMXYH;jDO9K|dxHGb@!dW6?nbS*2V+F`elbbI{5f*mfyM%%Zro5 zBqoX9tXv|@?*X6Dr@m6)T9Z{MqdzHUQzx3L@x2q>z+b%O;Z}B|`yO9oV3L5TmG6lu zQ3#dXZG9PWh_=_(pl=QP-h(yaO%DOFC#CPGBub}0*iMNlQ?ol?h|cPTKo@WV-v(&4 zI2?JjY9h`*;*p1~(f+($^6sNnAPryS{R<`hViSy8k=M)bFy{}8Ie(s|w}5RezR-w+ zV+}npga8e_|GFH+1>b)iB?%)fSMmK;YKG?T>KEfHl*E4q(@G(x)z6L!hDn5Au~BbTz*2>`rgSH8xOw8@5F2-Y2eJcLPrVV zWg$t%aU_xC+1K66k+67=PhkBp%6`%;)p!fljXv`(QYuzTiYfGv&L(QjLp-3MDj2QV zLy%BV9(-F1MZXXw6~hoTW97LXmu}VKzIU zH7l_b!fBP!niVKnt$B#woz~pS618SAzW7=*es*SGbvB~UZ{B961Hdb}lUMCHG=Z-J zYDW#I@};NMN>A-^%2*eubRYJ_066P%#{lFD4cdF*Gof^#O7)~ME>aF7TBvINI@ z*a}slvpv9zs@z3u+UgB5H&^aqS|)G{+jlL2cko`Ueem1DV!!5O^%0L@-JLx0(H9Lq zH-WeN`G*!tkQ|68LH(Fuz;E?RF`wVEcZqD@cx@?uLI$s_&>vt4T@scpiyTn%2Rmfq zJrY^bMt~RcCjYcCVlS>B1+3<_)!!mzMeo6UX5Q!PJQy#hx_+j?W+B|pEbn$;fc(e} zunmE2%>)!ROp|$yMbXcXOk#X3maxaf4R;gV=0_xa2~LC?9FZikQd6J?*8GMxD+5sX z0W=^$-Rmd@sCyPgpSq-w&Zyc_w|gGyszqka{;t3#>&Cm?Cd*F8D8z`Lx)y%{!?6ih zB<~6?3a+5x)uvE0+fn1|j}=o`l*&PBjX|^sH9&!$Y8M^*sO~P zULkv7SFF-mmzX5DU|LdMHTE}<(*a?Ihhdao&PqY-bz9elFfp&lXV1;MFED1dWEo}g zp9%c7rz>RcoAfLO*QEwbfX0}ZS@KXYSGt$9nsilMct1v!3-7SFKBS1FWS=J+qjUa< z7EwXmLy1u+B3?zNLrh@k{&5!Xb24ntLwWsG2yi%LRCdAY`@0{*DeDjxY+%HLtM^g4 zZnH!_@D2yL-61yV4Me+9y$Xek7c(JVM@JKFi_P_qp;#4L#G5CiR-(Tz*v*Gqk7DmT zk}}X+Rq@){$b2B(uf^76Ed}d)R84G|-}+H z5ceY^4*EbLYYE>3B5`Es<)r2XA^6o22_!8u^tB-}t3QH1?%f?^Hz4t3-X4y&ly|3? z7oQ+~|ASCarax2x9v%Q3%4FQBVh3uK`MiOjd2RyDGJ~w;ODz5Fdz)?_-+*pr4G^El z#!m?VeZxkK@oW$X4m>t~swG`sc4j#|54REgM;|K54^s@S^0t8nVE^VGlJLur5T(4| zvlh=&L?qyIqVoc(GdpUXeG=m-*1_75#g;u6Yj;w=S1T|rSVNHwK4SsTV>bWR4#aEc z6-Wp8=YYEiD_mCBx4+hN_?!9l4|4`$fO{Wl^c!9%~lGwqPLxEl~l2{B)w&jzNqR#aoF;td5& zh~4mjG=Fw@EVgHvo%jHA>@AkNC3ce_b7Tv~;VTCNzd0PTbBtGM%~Fm zV3~t`tDU@<;}=XIjac7vv3}rX>PXLkg%r7~m=eOO1UN5m%+Obw_n2t^eg>%d;SiM; zcRMY}l8GGe_Z5~}fi*fN)fgn`q~TxTb~QTg<_i2lyfBlmvhDQfqw#8SmhDR-)_T7R zY?)sKggtMSE-S^YV;o4-RqV|zfAAez*>TISAfZa8jU=$5IGh4&V|6c?gDo%K@RCa4 z3WUHwYBocQJ9J0OBF0=ypM};g4u63p?!lJWHAxHQ?q~nXnkfLjj~D|kXKzKj{p(vJ zZyHY3K78fBj3#vA+b0Wx2oBkdLhOQ`yCFed-u!c<7@a#v)oE4$sd92 zLO{DiZL`Ai>e~gQs~XwznAY7!kni@S$bZ-MQ+gNDT#2l$LTU(cL_%s~Cs#psJK-~> zC}-~C%r<{}`wWyo1_$3*MCiRW!p00wkX*mMtzB78<(x zQf-y*_MV2S&}=NwBD5~zXeV-Dd|$q;;lc^1;M*`hWSNI3c)OLE`do!m12Wz%`b0ahNs2zfwK;uOO!3p?FBV)U{$6wu#}5j&O-H}t>H@l@8^ z4GBLI5+Jf7uE4`GEVgwM9YmfKpdNm`SjU-SBUTLvd(Z{VR8tXv8iGE@_0$`~6bh+( zSnJZ*ZsHHas)me#d8IPSD_l%i*Gz{bkD*}UnVxG)&SU;f3o%*+I4hzR@tY@@Q(ntL zY!Lg0HHR)P!eJa(xa%?Os*kkyQ6@4t(8e&B!ru_Ypf7J+a#-HtbTpK!5(H`Z>}HaT zo5#?}foRCn^)Yt!X($H`h7bR_0*d=A6*qf#OkQKOo#9{dw&}UXI1rC@sg1&07-Jc& zk~%$gnaiM4Ky0%@Y3rG`6$2fD?-)p;P8;D$M;Kqe0V#%#6Dy)I=0hh|;g&_#&gpV>8#ry%us zDuCM!jF2@#^+6J-fpH_%F{=1Kjig;>yoK4^c9qn_0aBeWH|DN5iV8IYM{s?8UT4vL zolm#rnTjst%zxVkHY%&4p+tKA-BrakMgTFnD^$e7p2F}W*<3)*(eJkdwA~PBqg+5D z@sbP^wc-fhgVX5&i?Eo&hOx|l;^aw8nmw8#RK6?-EAi#S`Y@ zYxubWU0*YotuW`jItw(955R-2KwJJaI;cx|ZJYurO-!kn6ra(<4cM9Y>9k_cOh_C* zVk1r2mTO7ns$wK^i!=X}EzR5B7+nr>1stib3{CM+;Y|<6m_A3Q$hSr1U)MKU3e3^E z+iY1OZz!b{e>o8Dfi2e}&Z+U;am+}a8@JNwj_kN;Rft5E^VEB!V`#4|BN?Y3pd$Y- z**sP54MMCV z)J*~$r~rKSdZ@;UugSfodBW@*-kOZpb+8w(V_A$hjj620 z>Yy1ANUyX-ge{7d6Sz(Fx+L^w>PtR^4ML9TF zk~HCopQ$9jVX+dbu3kP2)Rykmb&dh)%HHyABh z&SK&Sj+j~#4~pMaL4Op5`;#fgUmS@Oh{6c(H3&KMd>OjA z${(P4S4-A3Z4)bP2FxbW9BfVzTPb=Z{%U)j&{4!1)z{!bz;M8XC%G)mwbIy{tTi;p zu#DL>`?faBLq9+K1cC|D3;JNr8~XJrU#q3o`iiLvdDI7Zk%jC})Mpd&7S0W&NePE- zsGn^>F;7g$=kq#)rOf@_dB6L;bFnE?6~NF#d8>i)bpcHm(D)Ct^)wAC;uN@n{6fyl zvH<=B0NFv>ccKP+|H5zV&Otq&jrt1T@R;YZL2ris<6`o@Y~hOWr2S~`viQC@qRfbEI(98#Fbi}U5Zcqgru-($<4C% zeC$tXq+~wLWr)GN&@joJEi5p;>JAVpE0Xp*kcL)I*B#^F3S=CQK-bq0SMMJ=A#<{O z#6<*^0V>=@qhBJxV`Y3^g|rP!=Z8y#&XWw9O47NT(wRmb{u*G3NoU&7nKpC|RyxzU zbjq`WA-2M*)Y#mFwJKQdEH5M4hFk$cSR5upbKDb%ZK(2}Ks*(tJW-QMThmUU6)K9< z1fvtUz4%z~bYu+NwH?Nsev}T05Fgad?oWWZR9XJWprqnUq4rNeB*=2UupPpP43+%K zF%JS@K#%a2As!UsP=U8;poG)f11*Lg#08n%ks#EUt18;nsGP(f%1C(+o-fOVgoV7~ zHG5C0A&J=3RbsP)+shjk27|ZiV9+BAb^wHnzX{|{Pe!3yeBxye7l;#r?&ZX8_*ghX-c4xPX?d1Hu`E&Rg|gabD-<@Ar2CTRC~j`{}-aSFj}L$(&c0 zUA}q0S)u_}Q-XlYp@_zo7W8?K;G`|!^X`#imd|^LTc?1}v-Z`<;`=jXn7ljR?g82! z);5ZDqnxn->fA+Z!nq;6MU0d)?1dk;qn=&D!(cls2RY zr{m=@f{UtWIy0VQNndsJ_-qv24sUOE;!D!eX?%0xPP2lY{s}wK`vtgyPUki4j{lEu zs=)tqo3_FKr#218|Ccun#s8-_^Cjzsj;$;mItg+oK>n>ndbc8--uxpWxZtvk{f%9g zH>hQ9h+IB#LH+e=#(Lds)+@}tojLqII{dt*VW7Ratc|}0<8v;WTE&+qxaa5JL4r3G z*#HB|}+a`UxCCMmz^MgeIR<>Gp$emM~`_LoyZl9bKmVdAW%eRp}PXLC&MXT8)hX ztI>LaSPd*30B&3cVs+t8M#LwkQxZW(0|7$#A_NoEI4@*25b}xHz*IH{G;TjkrFXTi zo_Oioe;~mbA5WI@1{#Ma0|3nmpl;o#7C5a?tV4JK8n$eizp*-JxyWQg8JRA_Kc~fk<4Q$jz6<{=h0R=Z5M?U%#4;3psy*f5LDpWDfZ1}GhKR&&_Ov;`agVzqrD` zy%YMS`dHVZwkBoSVi%H~KrHe?RbI+7FE)!T138O{`Ii*TSny84F60p{|{RYIixui9GERPgvxAN!=aR4hUe%oUXCr4Vv2r~u_E1d?j&I6ZY2|wj$E+7UO%OSj=*1qHzq$et&;dwYi1@%K-DKLjS;}GITg%0K5DQ@wR7z z08GKh@6)I0B)AdTJolbqA*~394IpN7#MuO?0KPPraz814Yd*PJStyH{#qUjicK5Q= zLp-i_rrD*3DKq#xD$+A|H~A*V=#U(l+?TY=I4&s7yz2XnFc$u{o`{-s`0y-FmAPkZ z+vR8X#IFs%1l3Z+dy8Sc1M9BqW|ImsI#{bBY%VTUOS%bEvP=nYT~%rblszo>q*+ga zS_!ndc375jug1xuT!S+C7T@ad7H;eOjw1ZFCSq=I1NJ86oup!yma?9dcFJCP1L6HO6gPc~BQP+fCo9z`cq3ij4)FYNB|o$S-XIOU zzXoab{gK|aMZ%H0f70-YA>$4BHQVB~F|hMJAV;wOphA}4P`@~-z$n)OtK_d{K` zUH;1q7&LRpiA(Moy-RO=G7Xx3i$0m zE(YMhkBe>2AruQ3LL_MvJNQ1lyqs2I#E5g<@-2o1Derxd3Hn?OXZ#?H*Rx-&%TKha|z&1rLP2JwLnQ$^{S&PmBi0YpZ9 z1y!M27>^T1FPgkrkFR+$a&`v+R^KhqT)BSH4xE+h8r>q~F?B6JYGwRWIr$>M=sT4Y zHokQ%_?lx$P22rg)|@s=gG323lT#7e`$rNB)5YHTfhuN~suO9;KPVv$^qq!7CL90^R0i^b?lCiiC_ zit;lPj9bb}9yfsjOW~)c0(L336189(K4UGSoT7*$5LfH(&P0~3ZMhx|Tu|+V1-=A< z9!{^?et?bk+Q=)~7O$v9U7D!=%sPD$vXmdu@-pli@E2(})2}>Le8%^+D&@_YEZus5rboOqP)Xd5 z0ZFJbZMgbzK$YVz3|LjS6xIdlE1uh0RDXg|$SiJ|e^YTYk8_sdG?F|T7Wt^`(WE?T zufL_cG^$V2bAlCSfDh3Zu52?o%gOMB&$QwVSZK1RIUSto7a*qftK#ONy>oe$69X1W z?!XRcM=@_I?*zEKcUbP1nY+1W6GDh#<*6N9lN2g? z%o;*)eCx1`a)aNw( ze}h_)|H9N#_bVJzj1E106$mjo0egkxO3}uFu5bjUCTH~yroaSN@5kI9G3@2rbRj@H z0KJ=c-t|8RR!8C>Sqv<@DBg_}pjhxO({+F|n5@^yeU8~)Z))98i^+F^k}h)sdm0u? z%4!8MltSk4677#Dg^cpFn4{I^O~|0) zaa1T30)D3hm*VXx`c!mb!N}I&!z`eo++BR-siDbH1b2D^{yK3Q8z`@4qB!4$-RSS_ zfr4H}U>ZLuvMQoX=i9~NnamRCrIUW#z|N)#;n8t)CmfJt=t)SB0v|M0nR0>*OTUi^%03F8fDj$JRdkIlRL4zZ!@Er2 z2|DhA=pxaVA3grt#4%(1;&8E^lF9VXrG3f$#o>E_Oa)D#Zj!C1ThTa*fgjtd0FJ;f z4sVa5|BJ)-A!_l3auiH*?*h9@qOHMS9Da$C18bf4SB7JZe+>IJ6Z+)$y$1M|;WmRV z`Cn%;<-I5L9VP*p; z;9;hr81OKspy;d7O_#8d5sCFMFA>~&m|$)o=X*X9v*T z?_o#UJ5lW)2(ri5yw+h4ggc|+qqfBji5eaYXU2qmD7KvoKUW#(@sFv47eiVwh`DCb zI)6j))y+EleAfxi(5AvSD$I3)y_G0F5@q>_v-6{CGP*lRCGSK%cx{#>~vBXgGI%53>*y2$kDBk@pU zVvt|^;7T&*+nO%MWSiu66RH%B31h&)tJ6hUQ1K_MEXr&Vtd701vAcJwX6Omq!Lf3d zA8P^DRF$>8U|ECdj)l5`%SP9?wP zWx-GDRo&o#W19~Okf6kekn7!tp_o}O#6y?M-BCIEnC1za(tR^BhBK8HD1}3z9|8iF(qG(*B@MS_lzcE0A4w&iF_nn>5JEMQ`r++%uzB&AlK4Ynt5KyV3j4q zH}gT`aw|^pGR1xtv{C{JiD@j`5D{6K7xS{_Dl9Z_5_vCQDCUI#9Vi>kL}+6Tvufr+ zLa4cdv?~C67h;{j0W61 zUx7P;E<`yth_dXzLRm?a?YStA38LKkze4#J90K$<7?diVWnK}vXQd&78W$iTexa^i%q}3cBgJN zJv9}<6O>KRfhyzxR?ud9FEWzj+y~GBZFlM&h||iCBlpS{uHkeY<99Zt{44xE?}x~U zc~nO3c7hlgEI=0|o580aA>Mqf_{Xf}FI#ACpBA2vQKHaw)<1xx-kAurAR7k;wS6bd zBy`#FzHu__RU$+)3QuEVnD(RRH`lPn7ey`6z-?){6U*JauF-&BfY)3 zLmZ9K=Qr;@5W)-{`xUO+hV$g8$n6IzoSB4f{q%TU5O+nn9TlN%=v+eR=|TJ9_!`LM z6qd3Xy%Z79Gk--xyUrxjKR9b6<9`o=P!r5}~eQb1e4;jpoac46V zGigVne;LxIOEFY?G_n1?2t=HZ-wlF-q)%GfBzFo|1u)*d(OeL^r@Wgn0?M5@KEhuF z=p<=)Cuz~&TtOFR_oaFSwgRY50#g#7kTxD2rM#JvVWN5H!kM#u4j~yWUMXYhw);b- z987xHE5f)iTbF8k%JUF=bIU0t;Ou7%igE16`!WXsfpa zuy?6w!D{bB`NRYvA%}46!0B5k`AuPmK=%WGKcSz5oFTZ;oqe#)+~7P5+UQObw5OgE z_px`o@SgJrGMUgR$cx%w$qgLFZqJ#~|5%KUX^|S>69g0Bo-KkPJ%Fx&5rrfhi_BZw zGKG~|tq;5b>~ow718h*{pTVSf_8cu0{yFyNSPMI{BRzEQATaZXv3u4{ot^pYKzB>H zbWj5&SLe-&jyjY~wOpyjdSGW8!Qw&=l?!!1CRLcv#nb{e#8Nsu6Kglt7~eFrPZix!}M5K;h#jhGd~qOt?FHq!Qp2H4hr zM7iyy(&^vWmyTaIaypi8ncK6W%{h6WnKYy5!9d~M)_is}G z7=ho;fUc2(IaqwBb6f@GM~uiqY->2jNdrAqjR=zeTE-qCd*}!vWr9_T*RwcsHIu9S zbtwFpr@V!S4+C@&e1Ex+sjySST~C%`1jbLU9i`3MEd~)h)F=ji@l!I+2m<5OZw>=$ zsoCGuT*jvoq^1Hjdf*3p$|3B@POTjB0T%)CHRawb@wEVg%@9L?YILg(N#P`j(7W1cJ#Tnm;W zPt$Sh-e`e)^BjbXZ0Q&MjOEDVpONmjT5QKRq>a$Y_!`c7ca-;S?-0+Y<95>T(ma|` zu0t|FbOZ*Ypax~Dt#&n5e;hks8DGE2}Y0O!ol@ zPHX@0vY*TbY%GaDw+$gM!j%%f$}~P?5bk~?wwL5J}($(4Ur?MW$9ohAJvmSA6cKs;U2Xd0W zW?EY=s<8oX%0)Uxe0b-_#7@SR4V0PivqBI4iK`nZZkjY4q;&Hr5%i7aRc-N~}l zZ~%!l*aH6qY6J*|3EOesRjU@5Yo&MVAkIZqi{Uo`Vu4@Uc}uosH0}9L&rQ(!7wBH# z0Dn1(fdl*pQ1lP*U&s1mf`PXXa*Z$_b1BPOa;01*rE^o)wgJ&hwgVSm$UFcYxoG(> zbjKZztn$3Ya8Tg19%kG;LSTNG5cqn)+-`&OJlO+b2s7!cq-=b7a}w2ET-ei3=1Ssy zyhpOM68mn4Cte5oBz?jCl(&v;vDMzM<+F$2$x304jr((>coD^v_ZEaaz+vi$=DmT1 zp*usJPOd`ehDK#rbV32}b%;R>Uki@f5gzrfe4}3UEu+eVh;*N!9pIsGHAXBU4MvfI zp<{Sc{hblP7%U{lSTHP_c_)lAdnK~RR%DFDcOzu6L?gim@oa=gKtR_ydszR46(60r#OcIogO}gUQjqk0Jt>96b-r&rOb2D6NtltrW^2&i93T z?k_#jnd|S8qi-EW^iUX=9Gw&H_9^EZuST~d5JSQx8~dsl87vqKup6)@-19N%nLXg0 zrl)rqM$Sr(ets~C0ki7NURc!i7S(AiP$)TC0x*yxAosANW<--}jR`H*7}d-XnRk`? z$xh@(Tj~12s9&6l-jW;L8_;H*xMV)G*tPv(H~iG-L`N+6=~AN~!1kfY;nN@x)Chqk z0QOGfI50WY@+l^#ZdVR1sZrVF8x8SeY^#Pe#UM3;^qAchF5K-(Ysi` z@eSmMyQ6@2GSlaC8oDoVzc%p`7y$Hz1GYzM_-YTmn|Kz*GS9f>o7#-w!(w(@%zFUYa*XD^FksZ@=>_wfSr#%+a{Gu#52Pp?B6o~ zv#~g+ON?HN17`h^+EQE)l4GxjScSRbH*6<_45h3piNNaYED;F47szs$1bYl|vk=#s zgaoC$AE6v@PEnxjM99#gDb33vk?IUPG@<`1k&`OEH2aNRrK>q?>q=p2rWPj5#pntNF z*6JSUBL2iH0gdS6UCN41kOzFuieE!3PV}5Qd$oR0YUsGYHpS~J1O%rmO39QO<%DF# z#lBlkd@Rp7JQEE)#go_$$2u4S`R@#LKIQE~Es;4{22h_YrJGwy-J*3y%`J1UMD%O5 z_x4F#gB~LLdPjWqU#DP~KM-kEp$;0?oR-9-38#LI+@%YM*RJ47c{2oSMd+d_O^gYz zbtO=AnQ(?KHNXx+=wHku9U$t~JxQO-_%38|fQ)aA=Ffm8 z!SELp<;H3oKbG$xRroC&jpXJ;@zaHDw!dAYCHM0+*D(ZusGNj&NVaiV?dM55o*!+S z4J@*i)0l@2P%F*7{=;FYd*|bxmKkyRj)syLP{V`Z`saX@6d6i7$L6QxwOvRlpJZL^ zld*@8!8fjmXYYW-_Udb8Wvu1$PCZPoL}(~mcr$4ln2vcEC&-C%y_oIR=xh48ACel3It_SvQDp?qi1h~QcX&jApF9*1S|XyN!q(&?@qg{; z%$>Oicq_Nu(m>i;J8F;X!DLHn0ddxDT8s0kK3o@OT5IN3!J8`_M zmj&(5ar~DBJptv-nD;Z6$bJkj!=YyQznfH0TL7iwV0?1>GN0S=qUGgi1reu>G(W*h zh~Kh@N)R9bPKd*Oh^7<#Rys1Y?ht6*&N2w~?_$v28At&J>Rw{q$$lNiFj%^)92HGL zEbZ*Ehu?#2`vvQ^@aud^uM1$wrSzgeYjBK8;(G#DI0KY!!@7I@I-k;g3t;&_+*tYQa7N2Skya#DP)9uuJ22Kc)QiHT$xXXp`eku9@?IyA#>KV8seG7 zQt&2iuj^VE+>9N)#Xotbc})Z3=NPmgrBB|b7^MezwLYb{COsy&xk#h+S$3H#bCmvZ zYd42KN*e%MjOg4Kxc6Cxk!;ya9;f8+eGC?Fdz20x+ylKypIoq~cx*Uu<$qXTEA`gF zIcNR?X0naZeI~nW-_WE^Lzy$FuOf4#CUvPb@%UgZ&8k|*tpFv~AJamwDK348H;uh! zOBrYqq_5#hm!WSA>FcDPNQ>PMBba8w zXc`0Qf678x`i4k9i!z7wd&rI`(mz_G96@>~KnbLq!6TN9dMszbUHzVuJG>nB! zdhG1=2+5?d!|}fr%z(*h!zERra`z9xEbbW)(v~BNZcocnxtsfF-52YSzN6?Y*CmoX z;vcLh9*&FZs#1gjsNc+VoVm8)%dG$(<-MMvYiR4Kt5O-fszF#Ah46@ zUwu_Id(CGwT^$FG{zsz+d`CPQe%DHdE&OEKAll!HfUj{j^5Suow=@o?q>vP zl$r&6wiL#VcvWOmT|enDNhVdHJ&(-L`JHqfyEZwLD|=FALKu|JPU?@Y@YA_@_`5uK z4{?~vos1Rocs=P!xhv;Xq1+9lpfyaALIZ}*zbh-u{2|}9ukif^SfRzWFa#FS-UiWi z4Wc(k5q$#3r!o6dTlh3O?vZ>(0nG(!4vC2s0Ctp zol(mz9=mCIr7f2?kkEb$9c?>qNTpia*2I`4ZKdHI8DtinjoYQAvl&qZJ4AL zbt7HHfvmvgFC}d=YQ}!it!(^L91N3-RCuk$_9 z85vGZy)fHaYJmF_#J+8u*LH%mRVx@8E5$~P)xoH@OV6!T8#W&V6=)o<2$-&Iq2m@+p(J#yvF|mu6A0r#Q z-)$P^jXE=*TvATyo583n!-N^8P3!bJ^-+bU<~uTgFBgpS`YP)$jzCclFK&sLDjk9c31?Yi7z^!v{%RGXhVe)Mmrq9s= zB5F^BONrZwHud3lu}&#$iV(LPY_+kQ%SB2uk$as(Ac~?#FTzD(Ozug5l2VoSGW>NF zraD_yWnf|ol0?TS!}Kpml;JQc+>ZmPNWRhJ$K4T-7?C+?WMBJ;5(m4Df|C#?9gzo# zwZ=Stz8Y;pZi)zuhdP;bCB%-f1nxi%3>_H+9C2!nxaXfA9wecHW4ewI9`NH9C;JO^ zw}L>1(h)^ljva9Sh3Er9kqUfS9iAZ41GQ-3^6h=OAVK3uBZp-2X@<*S{lgAUN`d5v zmBJdwr|2n_aFeCz`Cq$YA+;0p_UnS2@w|O8+I*FIv-+mArG$s`NL& zy;)r_EO!JmhT&Xo<8L@SIdU_KRmR&{8~ZZkszJ~m$R#@Qid4M;w~@?+ch;~qN&Cy9 zYqAdpVbEJ$4u=S|P)L{27SZFRTKTvRg)?I|6GoPz7@{br6H1WHkw@+l>Sw^H$)#-v z*rD#nP?F2hp_;;xMH^1!t_||p7*Q@BK`5d-JJj{a?sTQ7lmLw$(5L88neuJ|$kLD! zUVDI+-(lhM5<+e|IAbP9RH z3+wvScYvc+K$MerxFA^$ec~qC@aSDh+al5^97H7z;Cm&QJ;|O$4ET*dmxOX;G?PSd zJB<1yVu3m2FKVqLk-xZPx{9lFA)l#R>b0eO;Mv}?9{Rq>JfY@A$U`>tM~5bu*G7<` z2__03Arq@N7Zw>z{{ltLrs!sRI&C>0TQB*x0&sI1py@LM_rJ!yDj*hF50#L^8i}hU&BG6*Bca9bv*paWQB&7 z_`uK5mgw!7FCpkfe@t7AL=VRs9B_;2mEbef$Tvs$R{XW#xQ;O}x%KlpPP8qBIX2(# z(9YSiD&W#0xHQ$L-au<`kmnI2xRiRh7>R2!On!+LNMC0FmH88dphS}>LnK5Moe5s9H9!svIX}LN;LH!A%P4nT)F`^&%7!jBkw)z|pW%@-UYc(hEdN z;iIvz-O!uUWBsztWCAPkotoj)*bI;LC^o}{UoivkF!6CX3^RZ#knbTCwaZHSH|xDK z1#sH*SIl@F-GtF1!)J(#@Od<1{LW8)XJkdtDSEE$=0>bm-3OdvL=B0N`Fs6P0tU)G zHKrKf^TC}Rus-ID6~*VR;75om7`=t*J{&MZMFvCP4~0<5>S{9FupA~Ae$xt%fD%j< zC74{Fx(8h*qx;mD5}f~w5C@}C>BKoqHNfr0fKnyBm3N|w*V z`21;h4^D9oS^}ss1~n|yLe!c76RN7r>?Fo?{S5=C-#jNtX^=tv!Bf=|oPY??w3^OV z+y)TR$J*_NcHk$16kfzE;b*?rKt~&~IiY&&JAsR5=7OwTZDPLxy9crjxUnim@zH;% z8T(O*Yz=U@J_3&$?lc`P)=5qXM*Rdo+7#$D;IM)eP~ufpW!SxNEhC@>a7pxluR$3= zS8zkd>W`(e-BvhnRl{8HfY;ZeO*Jp$_AKC1VY6Ha6S}^#@fnSK*q$`^+Bc$o+d0W& z-4h*4Lq3Bp8JaNM`Oz+`roOZHev>@)R}v=Y0V)|0Abw~yxbnyz4&!#yNM2ZrwxG1PoHtYx(DZ>LV3K;+#Vo||A8OwoD zyu(|=jNc^_<~=l&I0TsyY*Y(AromjG=2Wl6knKzZr1wA6rp& z@w0>Yqql;}hTuw<y zO2Q@Cy`Oul9ne507aWR~;d^eKj!fSAMnE@iBodk2!mRm!8=0&kxJyh0pC5@#J_o>% z>$uC?P@R7+82<%8Gm*&{{LYU|nnA>PWHJv3*~o-(bz)@FgIms>icDUIKLwCuz=NrP z-;YdoRQRi;irM8(MJ5Mp0&yw?vS?(oDcVIN6T9Yji@=((Z|LPYEheI9@uJ?fNIn?X z`hlac*N3GdJ}AL;6WdnGUl)D+=W}5N^Yks*s*yI5`6E`7`H{>hI~s<^$8+F@xC8sG z`ui3}zFz#mT#&u0abtobGrM?Yr&X{q#`6&1wAiAHJ|ozG(tJl_nw$>cyYQ%%FulJ3 zI~wP_T&rt@q2ft^8_eum!S!5qNY(;#%BfkxR%vX)`K;Y*&e*v0VcG9S-OY^(?v^Kj zKa$B5y_cg)7I^qFV3{0o{fwoXrC18kw9}79BdG2ImmdO*H4S5-*4vB*Pe~qR2I^2F zafFSt_{ot(V>7{P9FMRDjtc!xBu8cQFA{CZnm%Q}|H1b!+L5Pj?`F=**jM8DMkE=a z3y8I`4i$L9YE+dphari$Q#*Wtw}}{yhaJHE#OTk1hXNpi_=p6>Nzq?VU0eXt#OMzh zI|kp$sbrvrFWN!3y;ScVI8~&QDicq@qkBE}CRra640M&S<#RTVC4CXR*w-K;Y0TT; z6|FOiFsBG~r(=8%x}j0%4vs)qZlH6wZ(ouCU1#{TIu_p{pCTPp?ILe*&cT+TL5o(g zPsmmkGa>TNvVUY!^XBWSTa$CTPu9*MKt_9Ed1zfBPt6Dgo0Q_Y;7FJoYe&Gl9r@U| z@ZCUbs#_Kix<|WyMbk!y8oe86l!PboH$~>LapX-ATjJgnc^qvbZ;DXvh)6|95F^Zu zpJFtZp?_2!-8&#XK?uH}U~QNar^LOaXOIzy?^^TjQ`)`iwlBgNcBfp*4P2~`LD)_qN61lThfay9{SR*&~(Y6fNWQ?dLoZ$oOP zQS`kKJK=E(%!!Sd5QFD}p%|Hyhc6rKCQ*HA zG9YLa|ET)~x3XUrhdeUfEvzfCrC^3VPYlzR!dEgdIlsa%28uc;(`IM+Lc_i(oN)mn z;x^En?;3*yxnO&OpeHBp{WpFxZ!_Qoew$*z$=(hRb{xWelbBFk_n}xsm2_hg3%z~l zwr{xi%GXA^8RKrnw?(W4cUBnMsD0ir5cF}pHQbUpP*^nw$6i>J3w9@tneYR|QntC4 zvHHbUL5-$K;7qbj%@9*~ApFCLstb>@*6I`zNLI?&6T`KXZSQfw!s&08^+b*D$@yHur8GctMCwE;82)YQbj7&#F@V zZkFHR#auB3$h=1HWnBcSqFIx6VKgKW$`sL3$y7HQF`Z0~UPkMMAf9_yo@lJ3NjBIS z`93J%wV#T8mkVoq4M88kfTdV?N9!<|CA@~99Z&H3XlChK3VPkZ$n_PuHYUbi#+CJ&#SC@HeJsZ~$i3 z%-$9j;y=m&bUkDVkQ1TaO`~!!ZYcf@(K}l49kW^Auathq`?}t%=x6(^$B~4?)@HMN zz$_;If`d+FL%w*Iw=$bb5`Is)tmWmc+oM}DJ8d_SiC>^C?xup
wDw9(*mdN~GF z*jfRyEj|s6gTIR+%n7cNzrZFJ-2E<4@iO;G3I)VQV=M>&I$S^siwyw|$opmB-D$y4 z^;@ap>VtGZHC`7#subFeR=Hp=t;IloZDL?;6ge{Qbeu0y&pUgce+`4m$68EaU+TH zM|ljLn3N6EGFJC|N4S$V`zp~{>P6-B5;lgsWEPeyaNVMA)z&y=K8wJrH zJ8bwFz9?}Jq6l3_qRoUFZfLrQXbn0P!{QsQ5a>&7jc{hRUpUy83(-DKS?4G>+984y#Y!_%&F4{hk9W zPiqjHsN`L%umKoB>Q-dFN)Q35H*EHuzCS_+wP&2_?C_|j@3Teaf*?=`Hboe zR`;MPg4K;|t5}VE4L`e#)g^$yf|ZBWIb7>Sv06gIA#WNFuzu$RHR!c4m=1f@b}HM?#9Q4mP!5d>4a8HQoa}+TfzIPVyoJAIrjDHp zF4uupB18yKz5piS%74I6^-Uuf)1X(q^R)HO)4tO}0>8leLD?zdY1uS-GsK~oSx!7P zfutY6iRv1n5&LCjPYwM5h11lTNmfTMqZpL=BG?)HRqlB+o{AY&CcPKT?^hdy=mPsR z_@*Z_nC8Rhb7?iaysSb*jse+J_RQAiK@zk!Pw$0EPa5_uF{*TI+(?)@PddAOg=Fe8rp!!!X7_XFDGQE*=$ zV@7aanUg5v7cIcgUxWLnhzdHy{Wuu<1l&KQkIv`&QHp}aeP2jN9`5Hb7>VQl7$n5Q z{Xk~cjnHp|F(bII%1IRWPv+xi40nmwDrvPcqu;P;5BHWPY?Wv<)n}!*(0wnw_9q`E zI3|k&!IP1@P6Y~dOFBE*m;u|#-6&QCUm=8P%np4+Rdp2(H+fJ=t4Wo#mb6_DYl0+( z_ih327Md)EZN>;LRWeTum$&um_{1&WZg>e7u!uMCH)idA8Lf#;lk0N+L@hFJlA8BM#|UT=g3oCd3!O?g zgsJa6=>NF9PqktWfq$P=t9+2|=n#UGc%iUQ4eV3fUkym}s`{0Hzcry7I7Z}2hsr?x zQAY;-Lm~;T&LC0(&CYDd$Lu5}pKNA7%NR@6)S@mG+DL|2oxhPJHmggiZ`Y7a>X%4Y zSq0zxBASkyOYYd5F&tnyM2QIp?6fwf2~_{ZXr|Bo`23n|14(@apXW;ES~pMXp~OgV zXrA033+?uJJE2YzujnghuLa{T-j8G{1)BU;%RANTfOk7H){zOVh%aCs)Y2)K?|rW` z^E{Ez%FOdM3}hbN^0A(S@WEMggPp>H){i}olQXrm!FkmV z%WMjVRzXOl>KEz7gU>u1S3LsCIy{{jfPY8fx0H<$Im%S?FFqt$Qv=b%DDCxE>MtV* z*=sb*Q7?b8*GyouOuhWcUZd8eUjFD8Zt=ObDQIFS!`KJ+nK3-WeP;5mah?7#)=i!e z^3+QNr*+Y&=V*wy8asZq4zO`W)C!H3!^-*!xjnDkoAv~^g~&_K^%528+ui;~!hCV; zreiL6g^#w+MC8ub4xLWEs=ow zuK-jGy}{VdG@ro)9aLR6ba#1@HFX3Qn%L|%W}xkux!`M zt(I7+O>I3O{ScCxr)@?P_r;s)_%x z2<2tMY;<)b`D82r_)R?P5t2~Wa_n(Oxvp_6S z2O2Y;jhr-H?e|I6n2}9!jhQJ?YD{Aelz|g8<|ozBO7%qa#jl}hlE!qyOi3CuP)G1I zrWwH)u+TAc!M)nRYRrrD9uCK6@fg>b3(>=BhwXMF+r>2I3J#?j)8~2o?1aY5LvU*} zL^Njgh2gXKvLUt}8nYfGw-XxkmOq3#5*zI;BPFbUMt#h<55lUr#*_;T|6gj%P>?iF zV?KN#QDfd0OVokJOk^V`O@HzGBx}t6m@OLp-S7p*i2InMW#9yjX;vLo=@uU|1x=GQ z=H?a5WwxO(rBBd|eU}6C07PJAE9hI0V}Y!K6j2i%EPsfuAX#{IGvfq)qa_W z;j*b3BsL~vIig7r*)?WUZ`XJu$(b-O(P$QXH?u1rd5lm|--bnQqrX;LOyDy5VyOy~ z5*Q>GoaWX4R_j^3(lZz(vTGd1*Cs+A0vn%a@l4&ZFj$4^<`$`Y*sCK2hsi2z##C94 zJTXPqb|zbcZ&xs*XYU=%1=E<^%+_fmob<3YvM6p~r7g(?pUyIJST-K(JHO^683hEa zD-|}GYYnkx(&42vgR?I>5wcP4lX0W4%uw4fO#qgee-?{xT2}xDt;7A?vbZ8M!5e8h zpG{pR_C!AN7?%{`%Yafn$-p(7;Ay`!xA5fCMmQ@Hjz1Zm0XlO6Ky4&Awe8DC^|kf9 zDXYOyQs(|+BgUv}939uoO`<)@-K=|){FV%S_ed#*E1P=pQ+M*}Lf!O)naLUt`en~| zICG4djldTMN%&@|c^f3B_Q#UN>-#d|5|Haa&%x7xwJ-pb@ULH!qE_iJN&jdArRs)I zHohCPx(bMNMYkVk5^ZymNUxpDOlp^L>*SAQCvg_blE#;iArvA#rPqSIOsOzs4?u)n z3=vt6F2@UeP;Ik^Rv%8xBV+`Cey&XIM!Ct zIoR6beMfUix5ck3o<_%FgU#Y#Jf`mJpoh?%QcppV{ygnhr=-UB!D+$viMPNFW4g!P4B1#_%OVKDiDp%kX?GAFv zmB$U2Vi@$7y}pYd5Ah^7DkK!~jtjoekOgkgX!|>S+-r{BoUwYkVZY+F9noc{Ewe#3}NJe-x+4OLXauB29esDRKxB zo5AV~`Y=sMkvo`{6o{h~c>*rfqsZwNq&$kWTa=S2a`Hdz`1usk{R@%=1n}Mos0?MF zN5Gjm15W~oiPcZmo5TKbQLlZ{6Lk&*&e=nz%w*t(&ry{a6LaQ*d0dm>?=sj}+)~wA zf|JPY6>V>`UiC$H_}w^she=c9E#y%p%uo@X-HQnJ7GizZFb) z{-OVs6?Qp;U#TPKf&-&HKP4hSU#xU^=zsnKLC^d4;OfzC|B!Al*O9jjB)cMV?0tLi zHO9l>a6@VeasN}|gok{f69&J>%&|lNf0hAgqm817dpM6Y6ow&4$PUp%|FeGZzdd*` zJ8Bbfqul%qOvu;Kw+F?e$O=pQmyBaQM(@+$%Kt@IH!jT3~MWfc= zvsG&OZ+Z+96MD`d=46+r1#%ZH^@DN&NQg>>;Zw z$t)azB5P*s6{zAs81h4R6oAi=q;ai$hyh|QxC^EMV=k5Vq3tex6=Ce?j<}Chg%Mww zmt5s^fB?Gz9j&<$1@-{%{%-_`xU#6g-=zk!-CJ;^MY6#|A{T?Il;pO~m*uA52Uw)pbn5Si?A$ zc5A5SnvG546eSdT9|HFqD-4EjJ|r0KG_wXl9b^^9QpUgzsDNbUwx`U$z=Xq57+>*P zFKKu6b%s8e-=E<^ondnp>wuEW!IdoAkEoMxd$YBQTZW%L= zV*wsSH45qXpmxHQ z6ZjsyEKR{6aV{>noW>Y|B5PjNnF%6j%9pySB2)!00fEH{%jI-5lxOn8NAwg$bSGDg zylBEu-#~fdvR|M2g*m>x@n=$_+8kz{nt&0`E%Zl}gtJop_(wm90Z^NbpsfrWn$Fg- z%|XgC^CW8mz9+7g>FgLlEbY?Skrip(pG;+D9hzy9FFO7}n=nR}9{R-&y)wQ^CeH;M zqXuAKVf|`aK!6p2D)TLKJx6vNNET?7n1jhsJ>E%&p7>O0q-rdxBz!S2p;FD(=~5vp z&<7Zo*QSD!wh34|@xv#Q)iJ;m;01Kl29$Ns5vQGY6qgz9Tt0{vX6;R)<$@)W<%S`K zRNsr<KTk$@Tr7*}yL#;YKp6MGuS*Is#t zQ0i-3H!EF;bNFrba0Qw9GSi%Sv3}@B^%7$RFmk1s`XilsEM&?=?^@of_7rRyW*uxE-H5nuI@Si$24xtqrJ5k<8Z$tX2BT!?Gz5^-QG=Gb;8J*ywu{(~ zFnD~eB-ahupF<<)4|GE5+if;pALpCl*>hUrgW_wsgENac^fq)(_H3i@rAgu>;md0G zU`T%OlW%5+-nptXz9|hd02=Tk&o_-lVq6qmO?m;}bo11F{e<|g2;X!q*X8QTmm1%6 z2&~nw@=aA7>(}|Fz3vwbxA%P0dsv5OBzVE)J>r-iLrK09$;;@d9rXRuyZ6cHya}kC zHvw^j0sKC-*m(UUGE%!5xAa*zp4=>C9Mak{ULl8cU}1-}Pi#Enjb=Zc=r)Xl`wB=D z@kVFJn4{MR&H`hN;(TuMn1x-@)<`P*u4q?qD(;FFK)@l7#az+9VAjwi;)()*7$53N z9V!xr#axlZh4e+-8six{^+n&;Kk5lL@#MEX-4Q8mVl zJE99EBV&v>j=W+w(Kw>@Q3K@i9MJ|3VDf^Fs0^SLa715YDXxx4VG145yHX*JsFJ3m zHpvlLu$p+B!W#v?kJU>oRPi(|RD|DX5U)iYAWI>Oh3k+{ix0SkN zf+x!bxAWi;mkE8%eF>PJ8%C(qh#v!Zu27dr#!f^qD3BL=<>9b@UhWmFh$dWLLlk1; zqx|nOHxu6V?=`Y-p5Sv>(tW zL@g#Uh1JC?K^ui06ruG}io7mrK-j~geWi$xx!@)!HFw$7K>=nN=7juC2coELdv;my zI)T&fZIGIvl?9nO!87t#hJEWc6uBEW^0HKSvqvs?4t6sp3Bv6B3on{5VA!$}vIvfk zUJ6-+OeSA=(E`xcKuo|a8fCN z>m^#3&~+(@NPCtGcH!Pj2JDL@_9q}n2f^Li-HnTNBlalm7y9Hh)U-tllH79!h9su>Tx^3>K^TPym915Wm_w%^vp? z7i@2?${^8VpCcP*suw#GPCY3y z|7QHGo!d_i2`m0qdPy7erFo2>l=(43-{+(seO;>CV^_Y))ZIeHMkxM#1>_>w1{{xO zhmHZbDg)YLCA0`5-Ab|iHbY(pBLop+UI#Z&P%>q;3OR6^b+K%4Sg9hmK6V_>X|Iuw zVSmL)-dB-sVb&B8rCw5nuMdZ|wuAkJaW7bIwhDxJR6Ys7r^#b%e_`1?v{|wH3!8y3 zhW7bsb0f?9(U*y!0n&NT_akeVA2u7F&9Dl7vYg}ekLZON=lv;m9Owe}7x~zC4!=-F z@3GfxT@0^|Cz0=cm9oD-NOYr{HvH@fwZM|Y!}+}$$Wy8~u67{-NVo;gjt;q6$g5P#JTZ)2g;R)->ToX=J7 z!ndy|P-a;Sj(jAK2^YStrGn>ghlIMpAV+jV?C&3L^6hVB*h+Gek(P_$_FPsl+EQr4 zbpaI8csBJBzd_hzEpX_otzRP~8cW=XyoVV(%nx8R(X6wOaY{FgEf4nio5VIlhn?PApk!x)gF9-%-D z%+G|Gd@YYUa2)`}BsKhfuz?^La3}(Gzm^~zkHDB`HzCXn5VMV3FAi7x+X18&0#cY)>V0J&2HyvYkwriD$nXDfT zW=8>TpJ#7N=E%ovONZHeTSa&_SRbQ0HJdC}%y#;7=XrMbQz2#!W}~KOb4Y4`(|w-y z@16(g?Wi_H-#ZHFgIgv@SA~PLZbIiFU5*nCd3MUvh-XPJLtT@B2{qzsBn+b(v4(^B zIt9|o&GIc0U_PCLD|KJJzVk32)d9@CJeVK6HzpC1tn?*fELs>kf2crOn2%0^c^Xkv zm^bMH%y+{(7Nhgg9M;fzqZrKF<-zl0MSQ zbsL|jPKawFxWIOoL$5)w%#!+nC2@?-%#8k6;DYTQ$4MJfAB!geyhbnO`Q%0dt zxXEMuOR97$Xm9;37tLOP;c91an$po5nSL-KmkR6>a!y8zwk@^W-hq)FQOK`o<$OPdD|*!Y-FMv<3iIh7wiN8k#tRa(c)Ez zWNpS(0DqdyRYFe9@TWh(=PvHevU1#9($y?@ocr~h+E#Fo-U_O>JYt152fMg_)GTWU zSpooI?4!vd1F4h5`~$FEN%K~bJc4$@>F6SLdmv{4Q<~VXx=7u4SmHwc{u-^T%(w9X z_|FX7h?V&^$y4gT`P`4}yO%+Q)`LH}pv~0}mt1OiA@rBJR$2c7g;ZxG4`N{7aHSgE?i8*tr+b%d6&xWwQN%_p_SK`ngOZ;^PAA2ksY2x zhbG+B3|^>(maDBpulJZ^{%%HwlUx=6`DhZ#6%$Qr1 z#j;9nmE*uc^2V3L7nF2+oHuqFZWFr2G>rC!j?GVB5Ch?;B&CP z^hccKMl6M|DTpoLzp2i_AGZyc6spUk(yQ&E{`-Ww;wDF^bMV{fej-*sG5{57TQhk- zHOk}R+tNblG<{-mtoqaz#%lFKb$M9LYByItLmqszcEs$K{~Hq$FH`HwCJ@0L#x#yb z3RlB#iHFT|onYj1@_iL8$ZhXidPicZ)$}nMOZ6Aa+roM79p^}r=reEdAdPeS@6o!- zM8Ehajq^gkc*h-v48||+g}q84iyWZL1+TmMm|uLGK`zxS>KE%Z4FPJ?RTlS))qiz# zk7F~R$}ggXq2hjVTk3}KN6e%dne2>Ds6n{u`Gkx4=zPMdc#Qdk2T)YlC%i87%<~Bx z$M}RjbJi!!LIS#DpKvusO!NtRkXprk!XKD?mz?u-iqi;r6rXUKEGyJiq@t~upEt?S zEL+8V!unF3=M&~#iKbDX@DCP6eZmqIAA#mJ(8#Ap1+$TxI{bOFAq2XE<3F+0WY0(D=ly!6aYypLg{!*?&Pv z6ZeTVG@%lacI*@PWvpjnkfk$s6?x+eRFAg_+@t+b#!;kPgQNB#|U5!o-%)|CCKzr^>s+Z zyt*UM7JrV^Kk{U{;!YA?4GoOe2fT8;4``iX2S)kPuzo1oUPr;(3X&>|UFCc^D2vme z^)dzS2h~P1H^$JU)($$xnq~}zWQTOaq-rA3An>KL4U)Rk<7>UNNB6dO@SO<)3=lTL zPohvZ6Gw#PzC%ssJWUJWu7{DFjDfPjUV$S+_v|Jl%mw?vE>i7Wr?Jom@-K4D+BGt8 z!WB5r(o5RwYUB!>+d*ehWJ4W0(@XH-Nmt;kp(AvYL#Pq}-Ac=9$IJyIwSj$IVy!5S z-SHT|0%w2pu$KbZZtuYO*)pLum@$tAQLXG(qwsUwTuPQZ+w@;Z+x-~2bJF$z_70My z?LR=QLuo6A?I|K{&+8ankhVLtN2jE%fkwm$&Rt?tlK-R9;$v~!cJiO%()Q5ZWI;^Yc9DS-q^*tSAtG(F&@@Tfz8J%C^RM^X zSx4yRY}@l(_t`OX!9;Cf#pY?|sGPL@4UchYW29{*%XYhx?PAh)E{9TSTYn^eu0Ux! z5<_=R+7?`$EN!cRjvY$dZg2xdq-_zPz!+VSwpX-Ar=)Fnu52AA4wHp$QQP+AMR93M zF$Wcwwv}bz1Zk_Kd9acpw(V#%O_H{8m?=rx=7=E6{ldn!9fe)na7?@zrc+q4Y2X6e z;dnV7;M=EK+UzYI;r0Fk8B{ z*eQM@qytJ3ZM zXd`BQ!7n^pm<9&Zu}?7#(BmI7XoC4XsHiS2G^zHSJ|nJ_b;~Piw3*6|L z3pO8xZsuC4+=YgmgQuYgOM2OuSPd`7o)))bPXF-teNzk)U;+=_GW`;Jzre`m1S}eoYku!)WS?;~=Wb7D%kc+4 zv8z2ByV|kSztRE-=7O`~BLQf;z8aAD-h{O4bw$1o<)3<8gvC{org5tld$U*#B-Ns- z{1T@XaeZ0__h&UGQioCTLdO8bw+b7BW{WDr(ad>*y47NkuD4Z&j10n}Wu8rCG5Ic$Yr)0aBFW0;;@ zN4C_DF2&5?+tC13zhCU1!*cK^&5~i5+Q@SzyJq8)0m|m+^!Aw;1#sZ*jw{=FQ z^%?uMSjgga4}8JA@2oVg0oZHyMHTi%DD#S&@O?v!ZZ(HHk%{VRp2QaBor0}p`dpBy3E2{{r5LXT zKF&&uz(eWF(KXp`pW9M%w&YlQO98kpKyIe3+9`SzO#va#V#epzXzdg@u!FLCQ5`LfwpN~cZ6Mp>tG$CB2TrV)-Bu}&ZM<6hQG*py~ zc~K$zZhY)p_-&sfl)looG}`rhkqg8M(YJjbXIu&|6n)!gJ{w2g_OT`IZJ%e*rgLxm z?0YunfO=~_bO(8KZ~OFwAo=@NYL93`65s9_aT(_ADc2>3W~U!$2Te1tE6ck%=J-u` zB^mCIg$vOh`G&-Moo5fyP>hM_?zZxn@H)@sjFF?an~89V@r$^mCE&TW==LpV3MRzq zlk=T@b)FIatQ^!r3;w~AJ-8=-`E06T%wu7ZHN6;nHL%uB>&AvP)sa zjGoW1C^IkE>JM1c&K&)b99o8{To~+u5+flI(_k_E4${syc|a{OSx>4CB*lRi!ZUn9 zsG#gPOhCBL&k~c`GkA#>Q_ve$ff)c4a^F-KOvqxHaQW*VbRT(I0ID;Jal+5;3ywxK@i>WhQ**Ym~VUq7}vrO{c?Kno-12PJ%ctp3Axh zj4m<1jGls}hJV-;#nVtc-AuZp7RMJKhigx~fe9LwJxQ$5BNuEfkG$k%QX@v|CF<8U z%(lMiRPtP#UW4C@FJ?j~3dsJ@f&@Ue)#3;scB3&NYK$mWPnZIb$FQ2T9~P%QE}NM$ zC^L8}pc5XX&lD)mjPYPI(egYVlxlGv4}KCJ44#tC@(Nt?0^9~i56!fbT4nI}i(B$} z@ia)2K!UrpI6?w6JK0inDoBJpPuWbyr;r+)1G6Pu-A%EdfVv0J+S}zZc{j(OZ-+bn ze2U+TPs``eUr$K{?rJTL07w1|!+}5HPjPGTDFcNBYw((si#5o7nP&|iXA!KydeE4t zHRyv9qiXYCL}{DT!$Z99>qfKhc}hsbhhMs+m%{xh;T z7(sMB7hE+8T@&7aZs3T8;uwwxp@28@;-X~)!i$S;LDHE(0qmaSFEe`zpzaJi6x~If zEo`_g5(AO}Q`cI-Jc09FtH@*Q{pTh`wV)s)5W6n35Ypwy`=6d$iMZAR_h`H|I^xB` z^&ZAe^iTP3uOD!N8zDcI1nqFDhY1h2%*RhK-MeI+0mIzWKYTKLoZ>@8`n} zFZIdiBA1Y-Ft^}c|Cg&;ow<&%k9F+%?td_Ryz#@-l|G@kI$kyt!O@f>VVGIgHu%*>3 z>b~4uk_rmYAj&Ign+IeLDiB|d+b{?aPDXOd27D3LMV#i2Bm7p;X=U*jQJQytE3MVm z8f>gi<5BW`MKA)^?%?-NVvfAfDOiTs&QpzwP&JIjoyXWuRHBtExD`wiN7$$bu)l|I zGR}Y!PwncDAs`c@n=?b_XH)ZQ+k1>U3;%b;dA04`N8u)&?pK__8yayH=co1wG?wOARj(nU#)+U>5g=B%rUsLz^9v2-uSnj=x~ zv8EfmiqD$U>EYa^4Zof>-$SUun#Y0|Yd&MSV@)F$m6?3ju-vg`BAz0wiO4nh^54>N zYdWb29e>Ly)v|<kCHsblig0XGPHQ(XkjP+xvn~Vsw0v<&KWG z!8#<-k>!q#Bk}Y4RbnGR7hjbhXM)-7WJrM)02s)lEYmVN#d>o^r zlsh_(VVs&Ek1Tg|9E7I`9mR2XRe7JQjT7rP9JdIuemRppLSh|=oVib|=MhA#5Mu3n zDF({+UgJM8Vhv=uBi4BWPQLQ8+!5HrqQ`6eHF~EO*2@Q^3h57Rw#6_QunHPposXGZ7_L1;;HytR-C6ImucK zYWu_*i|}=Y5bHzisDW5>K8z9TYnD4=ohabs6N}}JSUcnCzbDoq5-j+VRmO3P5Ni>Z z@gA|B1GRl(oq+gyg%IlrgsvdgU;iB=)&iD0VjUyk;UJ4HQ1l)WWs#k>3AH~h@Z0|E#V+6cGHpOX2H9iz@ z@(H*n${hh$BT@VYhGQn|8#lTTEZJEFdWcr!v&n;j}b)tSfqYO0>YC?F!L z*Asvux_%n!J*qZ?Ek0GR9E$1{A*%np5Cdg6Fp#+fZ1JhO3pl(&sCwZALesxoyWg>3Q>SG;~PoKM+FBlxGm)JYz07+T8)5tE~4n-6cu@u$q02^6Ixco|`ch(6Mw}}Ut;0P|iqzHHR z+A}#wb<6jP+KET01R6L{Vl#Wv?_+iB)=E?gPE6^!&C$V!=+F*A(+X(t?3ru1W!Tb7 zCQCXmsFo_63>2D(4EDV!)I}uWbWCLaf}Qi5K3pJ=N`mHsEe<7s+`|E){4%0o6GCC)#_eeV) z-NAhC7?tSBSzT_A(4|4_>ABPrNPV~LiM-KddOExo=IX=H9#`|+&UkxyLMy)`Zzr5DW2tYF;bZeKEvZ)ZKkP8^X)qrMRt_2X82gwhla!KDI9f-=>4(-l5?Aqchb@CBa%aZJn#~ zC9IsWvSMXbKp1$Z*D7p5=nZ20V_`@C5EoPZtMHEd$U?9!7|h)+%b#N_Zrj9(?ZlmTwVPNE;)UQA=TA{Gr3&%!|2-uJ#53vXX!xeISUL1>>8 z-m=_xf-D%WL(&S|cd2o!5x|=TM-0 zjd=X1uz#XP)T7?hh|IY$ji3Wx5gKtNQg_gZTVIZ8#7veujrhKrkNL?7mOG7DfTui- z=rC$HY9PigD6uy}o{LHBA}$LiBbLR;-`P^c;8FFr5Lx)Wx3O>{~#_-(k+%dZas~sJZ@P_>Sa@j3Zm~V#Oc_;H;dA$5=7$~iQoD= zjJ&G0=r*rgiT=XM4!1pqHwD|VO*0+#H^qiM2*ZYhhMtZRH3IH#D#F+)>CDi{Xfidt z(|(&1WgTtKd|uTZ)P{1B~} zf?j&q@&YzXmkn-+CHui;;6gDjP+(l1g#qlOt-1ul z04e;nwrU^kUc^?NNT7^`c?3)?WUIEs$|J7K_apn~Y}FljvLh`5Bl2z4L!c{=32oIm z>>;*Bt*EnA3m|j(w(1=1AKI!N!v2Z2>M{=E+p03#pL0fq{2%}vN3RL{@%gqY0Ku3N z?#Nahf%Kfc>>_Hb?voMl1#Mqje}~B;w(9Q}SzGn8rlp)++lherwrUR@G09f_0YSY% zENXGo*bJcx7P3`8gMi>y5nHv6*FA2l-hwnmY}N50MnAy=N3iFafqYvvR_70G)qb*Y z0PhOgsTK*Td>U!;7#8!R91*)-CJ;2mLw(4S#Hm=OQ z;DMa2TF!9TjI<|O=i90hg(kFB3nZ|H?3swq*{ah3Rlcp71pdtCyb#ve zD(>A!Y}GY7Vv?9i@-@-^$+;>d|Pz} zMmDx;av%KcqOJOTx45mk2+7bDV5?3f0xLeQS{cK3)mCi*VfZg>)gnxZ?nP`>21;rz z%x}TeLbmE9kT$N&XTbwGTSb3lN6MmgzO5Rn(1f;X2lhyetG+CQ{apXnwk zY+a(Qn#w_ZTlExh1vQe^fJ@T(=+$HRd|Nd^2I<&VeY;;FTXlqj5w%qtVX}y=I_4a! z*%u+ah-mf~SVTr_)d#>7h$Y#obsS9;pm($0}s~mVPtUD)p-b~P+IbPFYJ@|^;*w&j5h$v52!&U#0d!h;%d7KH2l3as~e+5iyb zf(v)xcYh!boGRQ1oR{HrAw0cy5w=Fg3daHAx!EqT=zF2nfTjug z!$wRv9WR(o!|Tq_5c~slzk}(}cS9wSF^rZ(va4vB3*M(1Vts|Tmfe?*|AtKka5qFS zkmuRpPa_+e{MzH%su`1N#shCuZHO!j9&mq#zL$r#x!@EuY&#h>91tZ!@*UZm?@z%7 zn4&%RVG)FCSAiQV;8>p@pfAB$EYHjd2FTwQHa)2lMYVIQ-Mg%my*|vzfGU(AY4-ef z($hXZDUU$izQl!NKRDWfds?JIQmoQ%v_1zoC4zq;xQ~I7xaw;glkou-*uw;bs!$+{ z2sXg z`$JIU)IL_4LN0mkTBtp9n<%x{LyLTBJIiD=c(WaaEOon=mAuZaBV_<&VHkW3LBoTlsjB1&M;3?x!@8Gj9JPZX_A6Y`25d&c+~OT>9>2 zs!2WXbP&`W0h$F4Ffs_X%(a%~AV z*oIQ#xf&VCeRf?1DSzXCy-l4=IX;j8ihO^A_*FDjd35>I(q%1$5WT9Z3`}5~+(L%3 zVIU<&1mRO+@#Lce$M24rebRYn7=lOOr+D3&AXTyd;FQ!8;re*MTvA?7Dbg(k5f2;cVST&X~`T;uA zP}{0kOthE|rTB}N&KnuGUG+CgybMHiFdjr`J5;|4`?k8g!Co`=@7+dmr8$kCy*FoN z(=FB~oqe3yc=8qI)AS1@;wrP(i55=FzU&?I1*S zi(d;N9YzeMLq1AjKBkFfeJi+uhZmtExFM>xu{*GDR#@OXRp;)2qeF2Mikm|e6@mgN zlF>0VqtH3Ts%3Uk0s#&MC_5N`S21Ys%c+GO(JO zA-EQ`&Kj48);K)JD-f(V7>lQ+CDvD4?+YF@h^he;qH51bx%%YryOq#R7ihV+4_M3< zfp1`*!dK*lCe!LYbsZz!u%Tesj=L}*I3YTK!p5fXT9qMc>S%->j|ndYbb|pH1dfIb zdV(g$*vQzdFVgp7_77qI<5pCd4JO#Hz|Cs!86F?=XqU={%m}u&!jXp-r1<1>j-w=0nRznJ z1UjFICjC<%ML+5oK^GEcFMV*P_+$pi;sq#yBIixa*jc=d6f5JBZoM(F{FVdks-~6D ztcyo44C#qS`TCEzusy3#X|KBBnu;E@zi`b4R2i&(;AQw>TKMlPy+8{5+!`CgPqx^)l(0wEVw z&OzdxFJx5m!pO>BeNp8tNGc#U3@@tOn|8znkVneY!nOD$WWn0Fd&m#z@^ zg5ZeWxmD$JSjYz{mScsunfw)o?YlPn3vF$5R~fTS?PTLkWQ%tzPATPzcKi>GBUpbI zppPq>IoBE=PjvQpv=3!FqSILG3u8qEo_108fR68?+y{2zP^@>%U6cpm@t|xUdl%&} zC};pb%|-t~nNJ60zUAGMC-;Yp@hWU{7iA7E-`qu6xt7o-b{C~kCzL07vJz+S?}-~r zBdEKr7p39c14u*WHkug~;W{qFIV9##z@WsWxb}%Cq*(z}PzIcItRjyTOmNi-<`Rlb zWOI_NKq&Y({g1(l@y)s5kiHxc42|Aj{fzKAw7wB5l;FoiRu1lsp*&f6k8s5BlXcDb0il2>Cc846GRYwY}>c z1c?AR;j}#8`yyn;HSvc=Gh}L1+y%Y8xJE;az%^SiEz*xe(~1DzT=3&YY$p_!eh2KG zH-*_J?)k?%d(dp+NP?^n2c)w-k3$hhslx;~f*^;5`VzlzDgG`EM7DR$-95V1cSnzH zO^@Ty1GJ;}`kIUXw}MBt<*{g4_T<|An=x99iiU0{K^c;34$80bJa9QtHDhdumLYlm z46ha^t7+H1XISMHZlPnux16aRPQvG)IfrFX73?j}l9xBfR$!Gr18T&AItI)IWO18g zIk4=GJPs^G5joHUlO=OtEW95$u<~7o0}q)VZ&BLmkErH>_rlcSgEG z1kV%SRS2Bp)JkX_a_UmCCLM8V5pp%fIJI!!$P9NewPR&rgF-V@`U)bkmS>?JaqEi& zPA$AGk5lteL{7CLkhCh2#HkC`18mvepMgPQswSF#4>JIba4M}W=ZI9OqC_}#yy-cD zJ(W{`S_MCgajG6!jv|~ogHt+A9WOZ%V`yF#7u^x34nUWRKGb8)hAIqxjHW82Ym}jZ3i@X25>?wOBCl6s=9q2wU_6ua851$ghw&BI z0|#Sd#3RtIn1CJzhvyNt#0)DIe2l~d351PO0q8`ipoF&gNn2X*kD^rAdYyt)xD0E> zVzM9;hSu*0v<`LZ1;$uO)-OVo1KeUX(Z24pSA-}_m=Cd9ds?9x1X0>PDq9ZN`9xXG zvB5-SNs_V2+68Gc0x%Sz$!}%8kS2Tk5I;&A)FDlFc4?hNn(QDULpVbV^H7#1M;4kP zLX)R~olldW-Hb(O(i;JO0c|-3FchK5p)y|x@isohw~M+bh;~FywqzQu$PAlFyc5na zSGHN^J}6zDSr+l!t;<_T;dVs3pFv9C-|GSirUx%607s zsEXjwS0D&+=;q^aF^oeZ4iPGGcga~FVR;BLb>Ur+9Gj^b+OAgc8~AR^SH$`f1{G|?yaPklhP`)%u z`EANNru^gB5Gq3XCoqI(dasi0BZJP*LbKxNM3^uhy^D!z4SbU~*#`b(6FMe$&1kL+ci3--I(o)((Z~iBj_B4)}biO60Ph4?T$e2IQTC8mkSPqNAqa+ zKGUOC?vCliWD(lE1mu0WD@$Np5!%gPy<^(#8?L}ZN%qk>R3He|XiXoTI$26|fp!(> z4ce)*5puoC?m{-MaFGSOXkIHAAo|I z-r2p>Z0r~wb_%9d;xMh^!?bS^n8FN@gjH`KWYGO8lYo?r)5M=Wek(Sb;EA3JS=dcb zcW9Rfmm?>l7J51}Mc&r{Mu5~)p*2%LhRGnd2c5+ z*DXhW^F(&7k&T3+VoGJqdkl+nses}d+>Epe64mExeJ}E3-<4hw%LAgX`HIX z+{->pb1^uVkP6CePqkOLWQMTkf|aBvI%C6&yDoa8`=+L6+j+LzL}O%3w*|yEZ^DPf z3js}k!sDYoZ4G^9Me9Ws}* zepm_3Y?CI~R?`I3R|*hM-HF9kD=AMVfb#qU%2$^!mRqVonGsl2;HHtF+vqJ(*Ob&+ z(&bwqRF_+jL_Yq=IXS4@1dnM2ScxPR*j7~8;%(75*oyOH<^;cpE&%piu+a~+P;*Dv z%@s*@Df=ZIxt$O+*K5g%CTJhGLw|~eP-8SU@A9Px{^8=dm{k!Wz4qykq zLO9k6gzyhSu1#N&rt)68(Dl#K48}>=jaDMmf8y?idEa_D*(Uf&hv7OdILzHkazQ}Y zk`Onni;$lDlA^WQl3vZ<4+H(D!?;`fZB~=*q66Z^XsjYadp?aN^umi=?9Ttu>2XV@ z66ef}VRD|hPX7Rs>XGTJJmFR3((sM@?_d(^Q`eg+iUwro0y-Netis+XJX;Fs`mU$U z>el4tTZyS&bvixE;%DWR@32#WDKD2Pzwk!qaS(m6zLnEIC8C?E5oy5lt@2zqM((=P z3-B6Ht2Awe`GCe854cc-uOj|P?CG2w9Aof4@L)`sYSP!RsmJ)q`vWucf*)X{F@nM2 zJ78kR+W321p?9q}Qg+Ok@Cm}|k#lJ}J8(Em^9cQJR!{0uBFWTqDvuFYa7!TfL03PoeM6PS@b4CQ*^Qx=^cg9s|rOO*1=?; z(OGGGfg$eIqce~QB%H_5Tm=`Dh6c$65@?FBZ+0*dgtVLe6vVdOy&-q~4w88pWJg}` zu&WB8T)m&QL?$FAr?+8tRx-V`Jp#^I&batDoyx?ZkzpVX(?g+um>7`2fM~_3C%HG zx&5^{PEE*zX9;LGtTnK%(uMt%wnziyJkxT+*IqPgJaOlHKe;SCj^w5H0Z}U;ZY4Ie zVJ~1=o+q7ySKvZ1k_)iF%QaKmAzA^X6E13c*ygzb+s6m*AF|o5OKcm^&mmr6h zLUv6fVMQ)@IgFw6J(>IT@>C|{C;-$b7T3;(0*egKDGRImnJU;ask)EJDeaXuRnQoz z`nU9ws0pO09s#Ksp3V%wzoYOQq{>#0QCi5~*0LvSC|;Db`YZJppdlpLYwB5%(K`#X z*G$kS`IEh7vOdY5>Pb8E zJ24NCzeXMm4-m$YTKE9)QYmH8C$%5`vJ^{G43**e=0M0l^ABhbKmg|AB? zjr$$WxCc-lI-h67E8nbM*>-A3k2FK*lz0!Mu9{G3ptBPFr<+1uGh~hCFBkj*V+u1k z!9IVe&-HL4_=j?p?-Z;l02r!8x!_Qk6=T*zFvb8381jbdN?D6pAZ7*EsYf@^&sTqp zk#S=%_|!JhgHC;e4q0x>LoYFKxaW`02b~;AE>?eRVKI&}`>jAZ#h*a@v9xpkSRTVO zy7)pZiQtnA#vvE%C!_i7GSl>v3bJgPW7!&;QM0frYZy8OHB${CKLy6(kI^(2JO;Bt zf2@3cOvE!32KC3SAZjbye*TRhQ)8cBljj0KR0h+4IwxV~8g?EBLk?(KJggk4Ljtp& zM?cY2-0&KpgK@(GVcR-(yhotFZS~KJLRm&b>tS9pEp0nesLgBk&7s9{&7PCxzj)~{ z+5p$MxzweucSr8TKO>*#t{PUQO_lX= zKTEHIK2GP(4jG9&1T8`9|9zh~V-?@M8SVU~mtP1z%^-^E^F}TPH#+orkAW4T&ubIC zwmxqM8!eFkvg;Z1dDGC`_`DuESrMQ2502pZymz4}q0c)LBl$kB%PYe*U@-DlhQq`# z_=^l+a-kCW#DMr|JMf(8WP z%CH%li_T5n@D0URhD+3qC9Dj)!w~(-mEk99Yt5j^E5i~7SK?;fGN>~v!wX3dpL*hn z{=w);0tcH6FtUE1RK!+>wVKX|uMCF+W3kgy=pgz)bvnB;JY8mqtPE3HG=gDAL&D1N z`%i^+{>t!kn*J`Y3@-s83$6?|fQA)V8K!BxROv7M4<_#V%J5pOERuarfl&D$T>n_N z@i=-rx3P=0&7k~Tn2-+L#$alseZQ*6`Ghw?o&sLuaTt@1y~cIiNJ#b?4wN>^0uSg4`{Nj3zZ9hvW*urmKmf3eet*z>E&P#+6`2=rx{@6OPtv z>;+{LN@Cm>WPc#$H7-GO<24q1D3cZO8nqn3^BSK()I+b)4m+Z%4dBT;; z^`8)QCY-{7;WRKv(#mBvJdA_hU%AZt=vS{?o&un5(BzfNtBe&gsVN?mnn@I56kfR; zNFq4Qj4;>AXbCHqi=-m9ayeR0M#Wby{a`j-T;C40?(E8CH$|ofL~f<8sgUOaPW}}T z7Sst>E;(B3F0WjUhQCQ(xqJhC%3rzk1v;^n%X%nM3*c5R-D%9!2<*NPaCLp zPSbrKrrzRSWEs=T>U-i|WSsQ+-|R&O0C?vxjN)C1+>0v&n+C`Zfh>K$eh=7o=tTyC z6`>b7PgWS#i|o!svPt9AVUd&0#JtFEXl}g7)jC-bFLEG9@Vv+(h}bh8f@; zjprc6{5&%a!Lt%Joe0~VY97=uoL0MKCTlq17?9R(0r54h&td4J_r%@@A+k472n%*~ z+&J@HGk5LWe(vrQ#j_fCB7cL^7qSU1I8Nb|=fO59j`DaW9|cEwJW4DVH-mAB%)e!S zEf-8>p~;O5#BYP+U0Yfl-_iy6RNNsj#y0H5fk8{t?-!Uz&SM@I zp3+Ei)Q3~O%#Ph_N$ZqvB%ubkL*P}phNH1>+da{oizy9ywXYwsEnJ+WV znHTGazEPjTF`LvId#9Q&Cl}w{!d}4jjYdB$=?1wa0e|IsU-KETox%9})aN1xT4C<} zt&j@b`#bb=K=g&lSNwpe_RLIb35u3*ZylN9ueixqO8)%$Z2>cW*QV^mnm5Wv*%J@Q z3TxhE7i25#8M02u`5zDrdUAd$ADx^JW~d0>MCAM)78*I$8Ch##!8CW63`oyK!EUG3w~SaVTNY1Sf?3W7#q!) zbUJ?5*YSIAWlz@eVQ+a5EqMY-9(`f$m6d6a>)25h#r#ZT>wA)XEKcB;vkaSyK=}o?bmPO=eW5fkU1&T32plsQJ1G}U-Qvv+d@3% zY14EIdSCNUD37; zLL8@%hUFoS^7!KiiX+(Ito;xoZWyx!4GfNhkhp#x^z9am(*=4&+a5(jPur&Q(P`U_ z;XIyK`G|#4ZTm*VMcKWGzw@>2bQPg##HKN%mI3z>_EBy7@OAu*Xd8D0`!LEVP4{pj#D9B0l1Kkk3$S`&aQZCbeC*`!kTH zQ8|8#r?NU}_bFFlTX76AyT1(^B-;JwX!NX=7l|0b6tykM1vhf7XehKAu{ESvP8%Py z`)8r8HS=Qk-|-xQsQo`_0#wU?dIditcAtA&_Dl-5@90XiRTa_8I8ajV&heD9kH&G4 z)9!|^b1|7`~ErWRi<84-K!(n8-?XP(lwP42pBg~M`#b%yZ%CE*|CI#~G*gAc} z-u=JWrmljKM)r37Q>Q&}lL7f{F0U&a-vk!~IklCSy^TlQaCs2=NtvrUoBj06;#?6K z9FnS&i8DCphFE4{unp#grRXL5Q0{xUhk6riDP3o$bMk3oI>2;8Lw^a0>MHq1PewE` z50%xDtbEjX@qs;9q^Me`Wbw2*hFrY0)LNJYWsq?rGn)lew5bN3pXXK2)Po7ywyr#p zSSQFPPe`v(gFIBKSVvxl)Z0-?kh3!%>V@=ajHlRC$rO{ACtN(bJF!uC8+3BOyE!wU zO5@>XEDO4&@$5Gg`fHSN0ycUMWpli>EmuzL5ArfPRq{@fHVq9LulnatP7OGnmSiUl zBV6y3C=HW@C=Ctz$N%Kb@;q9URqDk367jSMSRMMOoMM-Zou85I>(L`@uOMN?H(RaI406}4)!GQpau&FVz0 z%&NakMdj;I5o=|tD*w;*zMtcFzQag=n^(N&IoyZqzV7S3?$h%;U+yMXjIF@)m|cJ3ak7E$UNlOLEqF z7Ljo4DQhLc#;7}^6%zC{5JriZ^5VxbKX=Lifk~TmPqS5USVo^RgsWod<9GXG_s zYqjkRJeX5jaG&?ZSeBfY>#B2uDq2b6d7bj*Ds=gtGEH_HY)vageF0EQ722k@Wvs$t z#eLk(8_U(}wAS2F5A9mU{aY(YvE;7s-E&j{k7Q(i&~GpU}!uTvub)DQ(iTnce;)7RSw?Z?e=Iy-lWA zsqc{aR8#5~37-=w^)mlTa;a~%r3BXDK3&+$GlPyu-+|g!XkrSx+quw+ZGw zi}`-o&s**0N@Y7$yIZ{xA0uxYVQk$+svrE1Ru=55nATt0LisJ!V@Xa~x@GF#N>JU> zbaFI7bx#m0N$(?#JjA89yj+OyA+%ojD!N7K?eqgL%C^sEChYT>_7N$4OUgZ$p{5;t z?9zL8L(M>K+I?6_$1fa6Dr#1V{Boz0o)d7FdSFh2y4vYK_nDY% zG4<9`E`Q4{vAloRrFr{ueV?UvsWGYll$NU1jW?a3EfLg~^(uLl!}EZu_9`Py|IH_5 z(c}%w)x~mE(?bs467gD6QhRB=KO7zguSM!TsUmyI+y2E~B1xzKRR)v6yEUy<05xwt zxb1&pTmtpRb}}V_E_>fE`2=f)nYP;R&v0X-<|R~GCH3nH@p1XeYIciSs>PdfPgDdg z-!G%D7w251M!v$Tzf*IaTJ?UB9QOr2eS5b)C|IhGz)qK}uF$TfIK8h{>dAU{^)$;L znyH?gu*YPC*WJJ3d!QArkw{@!mQ+1BJ#m-KEki@Jo59DVoSk?!;?HILqMDUR3D0O4 z9A=$dA*un*M;HYJlZ{6?we}zrm5b-&fz53Y7FLcql$2@Ji>LKh>oR%gAexrV0K&8| za!DIZT(W$#cQ$7oL`mW`{FTf&W`6&GWCTBS?xCDsF~e50<3l{N~F182v_F zXB%DGF2d^-bxia_TK03*>&7sqJC(_6aYb5j^#(70RoCf;DU|UXy>L+H{~xC%3M_~G zy8H5GV!qX-|Jlu$ttp%eYctAVj8XN&c(o$_TO#4VO*5X`NiKfi>_`~vrK`ERw`vtH zamx9!DJQbC+&)@(eVQ+o1V7Oz!;_$jcXKb}-0nBu$Gi$f@~6u^#Y^eW+Vc)Y=2BHI zg#5hj`fjj#JN%0rI1~Ta7)(QPo?f>yS=Zz@1W!RKU^qmJnlAOY8ezS9-2YmZy6VI} znhKkn-~FTH@~k+l!JQBN>JIzAR$$Cd`6#_4u_c9PqsCSAgnE-?ujk+Es9|7r_c~qY zUL&oP`SGlMc2+f(%ZAH}o_IrPmoIwa4X5Q_xXF#W_hN;SPjG#^o%gr%kEyg4A$Q5( z{<0$5hV(0Foi#}tLfb6DTv|!uzf?>&sxC=<+uhbJ{qCubO=mV7i|FhL_h0fSi9J)C zWgWR9x8os(a88jGHA!SspqCUV(iZ3I)VUw>FVt!H?c0C!Y>n4-v9%vtaKBk%NxsE- z^*34WF4D+?&uE5b6lj={KAYvzlxfbsDr=v|N0RT@jJU|`T-Bj&@vX#ftp@ZB+4lCj zdi%3hJ>IumC*j;|d|*5A2-;YEM&dcUu0hY^{8c(7iK(wrfMB?r+7oz%S)}%w+_Jn| zUFD}E<c!p<6|u({e4rq?iq3Du_1vHBD+ zKkrj2(GLwis^RHE`wa?xrm&uThE>b`T)W1#k9*htfop%$JoUpaIoAp@+`-@C>tLyM zyGsuUq`os>iB?l@)yey>^7P5_{*-HRd0*n%N0PT*welWTqBkk;r&7p!YYKValiOIB z^O58o679%hR^9UE<$Vr0;`U&3lZ82P{eJnQ%ezSv-PHC_phT(J7s!gFo4O3`U zZ3-9m)l7zy>S9utVoMEESQn-spA*dX+;K24&@j*+(3@wv{%PR1QVq*-xjziLm4e!!SdvL)L34uC9(QCQ%9kPgT|cQpSCgz=5jwcyZ0JH2w>xX-V@Cw`v@i z&VNa}`gP2VhCehLd|LHTo>us2m07xseZhN}JjL0EbLUMew@HMjY0P4^`UyAL3s$Ep zz1hvzSf1`9Sdce^AQ!yR z*om07C6U|?4DS2CAVr?$0IMcRUMyYK?LM7H4Ijz?^LC4m2qy=uGCr;M8|qJ zO5RSIw=Vl#JOB8<>3qo(@8&LgUSSG1>UuE?`B&`j1HZGoF695(1eCiaiTBj$T5I%9 z_sOs2)(TGF9)vpTJKP!nuc59{oj3wwa`+22hf?*X~%V*ZqAfTI*C(X^~`zEu3ZrBjJ>$_G_#$Q(074 zb{ja2o0_-skQKIKWmBacT>d43UP$VIs&DoG9*dAtxR!C@KAA$ez^YXOuN}|;s&5Cu z$XgNSRXmb+nB(OS~}{fXS7vbgtCGmH38>8+Wxoa7;^gsF7>vy<2#ThU}o z5<_Guf#x!#>F^uD?uXkebHBM~Awvdw<#X~n@$i&il4Jxab$`OG6t`A#r4qPU+q?3i z)>ib~k?FF?Hp$=i{N`_+rE&MC=5bYY?y9SjzkNGVwp$muq8)NKWLC1W8C|!ZtFd7| zJv&JZQxcKg@~3p#x9GIm7N2v`n+iwGUTpihN4noEB#Pc)VYGwsx8G!9*qSF9J!Jy8 z2GhjuShv}IX!oZ*FLmAWe!^=UVR?VK*#vOfC_x)Z<(+PWSg*X}thsw)4AAwe<(;i0 zBIW(MPGjX=_1~64it>Kkl6Ixa{+S&H<*j7`xI3-v&droJXRF1H*6%w%*A=h4-$+&7 zfzDY{2@4|SZLjN9%iAel-usiwyQkc;OHtl?!t(atXhH_%eLE~~C%bbq<$b`sNvyp8 zWhUa4_jYPOseaFxp?USYfiBjW*?wKGTHZZUXrz8$(`l@Ji{G;BQk3@}EooPaBYtX! zL3s;9OYdcOlFDmdz+W2h-Gv*H+7Hr3eq6|Y5Yk%CpZ{QqBSwD^4+6tz~;X;Vrstn($8l zqD4u%ot&NF6XTtw@Sx|rM-lucPNKs?l{~h=Vh7!Dnq}>jb-&$lJzxLmZ=PhSFdBJQ zH~L)gGosbJA9^AdA!R?bou(6Xl0V@z-btqDhq5K4I)Uqt$C9_E-0uxmDCz~zFaK4J zQsdd?GA=82g?IU+yBr&?1wDf4s7n7cL*^0bqv&Ovh$V@ms;?k+4f>yn>MY{n{gjpk zDP7ke|Il<8Yp)Mm6Y$#W>x_qz+Up2&9A0}ZH3#PT=sMA<`ZFbmF zNYP#=S<=n~xBl1;gZ6rs$uT|C%XTM4d#z^vP#GI@Yuu{e!g}nS8s7zdl}Epcl{g~z zm0F+Kay0QfK^`eb28X2BczC~NY=q|ST+b_PRsE&(3Xj@+)AI^HP#`56^$O>-DjM+$ z@94COS7@P12)x24m0rv%H=2f7DM!?(bXlUZU$3-At}~ z-$8rhxfc~CUJKW+wPxz9;^8HST5w4sJ4ne~(+oB2l`7#f&5;&rjxcdZJsLQ_zycN*4x|tk?0`dz@Jzz*|zS|6Tzh=2~cHfxrGC zMOmqep5Z^U<=3&_3A^XQD(%$)t#;ePqBaHbA2fR6g0~z~S0i$FOOM0_4*>K}=eyXI zCgpsa(AvW@ibJ)tzA;o+<*)sP($=c_a*W%1;1<*sV(I7} znvgM2nw3rq7R9tsiy&H@I@{ilJDIrVZ55{^@t`g0^F)zO{TX?EUGyJw@aCn_vPk`= zb_(!9vEo~K<`rjgdETBZ@74s}O46+I&@y}E;Wgg7!S_?J&!V8D^?_0wz?rx=&~CS~ zWbL+hb<3zBS-a$SJH1e#j0#(cb5ApTN4=1*g7{q0w@WE+E8$Jt3ru5KH~wAXaf|Eu z8GnR;(VEsGPxv^UVhkmTF-j{K8-7+PcyrDC$=^b<;=Pz5F}B-!8Mjx6&z?9x(E9)!bu67u1u74^Ax8Xwv=6>>;zD zU|Rz#$Ww&Gac5bHo%|)C|N6dyy2q-!Kiz#;unLf+qR2+ge9d?Ht)Z8St*ic%l%_lM zmfbpOrA@}>uK3=1p$uz|0_(4SwNui_Ij;53?|0`b_vgH44Pvbxy)Ss21N+qSqNf+S zW6kObXzgkaRrz*e_K$7T_PsgJzn4~E%kOI~{lBVtoV5)%&gyu%on0@btW;^1dG4;Pe67gwmKN>#xYNj1CB5_P^Da(FqNR=Oo!rW- zBrz;##FE=zNZ7lsN~*=4mssdhEmo?fXFsnu0xHt%tJY))4r@DTG$es z!rPoh`w7-BpFL&?enHKftMRq`u?p-~ZuJDwCoGKXhTAEBb9TWRee!&XNl|RU^V_T9 zK2EAk(tpHHHve9{4y07yr^*7V&Y?OU3={VaM#&|{{nA7>e=9@d8DDj+*_pX_%jOx= z*zf7&HvFYR*fv@{_h&$Q?%mpaJ)ocF&=d03x)m!o!~NCnGLI!|K%}SVgTbMR6+Vsn z4S5qYZE0E0nByyzM*Np97Gmzc*R~oQtTcAYFL~<$=9d@s&s8$|s~1utLi3(Lg{0l8 zyW!*dL`c`Aa{HZV?es6u_|>dd37Ghnjy?WgZjb*jsjrc~Ih@UD1uD2^4SLGi+y2h2 zRq9?1FavVAYiEC2Yws-A-kk~VU`(|B_ti{J>pLHor94CMLP5f5(GrSBbxxzc<`K47 z;z?>hbEZs#FY~gpI#5a5eu|zsaBoJGx%{SUY0d_vU#hgXcLUb$ahL$U3)^dK-YIrlNUn!pF(>5 z#I3nY`cx96mOcefsErC`Eo^YgQLbxQOc*>Fx_;O9iS8Nr8GG%gD58t%?##_GowX(n zt-5PK;il#lX0{y|s{})xJ9Qd%?w?>tZtIwGDhNEqf=8cA8>H8duwLSNVe@)4ZLgD)t|i1 zUkZ5qpDljU6Tg0cfa|*8Tu7yBUt!nL9={vbdj)SdnfGN|-j?UovK}i(9nRhStMcVt zN;$h)GKp|5ml-7Hx$bi7XMF=IN&MDMtGt-tcQ~FQWNUPy+$5=fS6-vRU@Vao?v%=$ z^4=ovT^o73yS;vj-+bEn^G)tQby&J??n^~8XQ{mKzmF(8KkIv4)~QUjr3Lfj`}1O5 zA&o!TqK+s2ZPlkyZfi!qy;te|t-}l)-aUIQMeIO=;w)Auwq+8T^H7+SE=xUQtd^^J zv0&6%zbaLW%E-;4J+J5Oxn%||z?-b!A=y}@e7aooI5#P(BO{d`>|1o+J}CBrMzm)? zZDHK+Tl`MFX5S*Y8ht(Y+bV@U`V`silCW|n-ndp_I=!qg`a4r4PA)CogQ_r6&z`gJ z6QK}Qo&D#Oactz_id$qVx2LH5AIw7qx>u68O`Aor7;2RY9nPfsm`#K=l3b&1{acY@ zW4a&91^71L>D(LsN)1^-HJDt~e=KsP)ZlY{MnOS9symR6hHXz>h4Lt%tLc{jd%e9lrSa=Dwb&8_qs5xa|2Ble@`kQ)4jFt&GkI zvK3hAd+Xlu1(2(#-0P-hPnIN=7_oUy6Uv4GTKx%Mpt;w2US|kWt}}$^oF-c-imoY| z_juhiOR2F+^@SIh;ix}6`yGXndUdqOvIv`4ro@cYS4m<4^^&Pj)brOkz5c$Muc3(N zbyJQ?b=b*cC|8x$je*p_)Dm2+od1Do*V>!D^vJ5-V`ZKaq$6j?n&QMhY4nE0ansaq z73nZGOLg@}Uz4HoNjhrZT9D@+ecv6dB75H1D`9M&mi$E26h=pQ9Udk6s|Mw2*VQ}` z#eSvtMASQkwDDX?q9N@y*k!3}r{NP(?|Y7q`9`7Y4TtrX0@>mL2@KF)lfQ+794}bv zP9+5k?J!9E^X&IYmwML4?pUg^NkMVT1HrT&&ocdDe6vWVXXt>c8kc?tW;cTeTXeK#vd*ou1mf( zNw+159u~%_?!j;AF!c6Sy13MR0+m$FT0Do)(!8}$;g~P`4gL>BZJZZN{3(;c8NyP# z6Z*2y^8B9rqkEg5E@Ae#rZ{d1Rolkvl^Qq1re7}eXybU>xEwhUch?3Tv^jnGi7j3`f-T1}PTs);`pZ9gidG{M1)4{u4a*Ag+ za#v3ASoA4fi9Z(Yitc6ou=yQV^f}+8=(+w*YfVdXZBbZ~RdVCek{n-?T#}6%Y*Z=9 z_qh1?m1LT-@=CH}PEZohva(bom1@80NtnUVY271_#soh$;d)(>BQ1ZNVs2E-wTih? z)wof=F8&uSA_en?hi&v^&o0=#MRr*34z-5NPbuiKddM+|XA8Dk8(os4KR&5OD9 zSjCo^y35lwWYy(jrBtlH>W=M4OEtQa`*Ld%_SqMGTEQ)E#eQ9Up!I3~uZ#aq4q20+ z;Mc_;Ct(}dthMwGTUW5Cy>hm!WPA*h7BV(euC_)-VHEV!@tCWKsmP{J8@m&;pBFRy zb@3B6EXK8w;pmhZ_TFlNk}}*Fk9l{>3>$he6Q|@O+-Htj_!2)u0yd*7bA@9he4D9| zy3%Ihq5=M|i`P*wm7gF@ETRii>{imOZW3DkOxI=mb#ZCl{Bd!rUl*^ZA%T|FBEK$P zB{WsP$~w0|*j;kx&KRXnt8^q8vMrFLLIV1i3l%uAAM@RtSj%6@u3ztZ-m;GWx_E4y zmnmyjIkf(3?y$P&Am+=RxdJLo>^X>B8zK``*1e?vEgZ+5gK*D51?%Bo!ywE`m976A z#2{U?*>GmKYM+&=fj0H!h&9mMZv+k0dhJB1Qggiw>y(ih$hZ`3_urnNn`3rW+iqV>)y%P2>d=;oX=S5V(GS?b#&5L8Wy{e#F~dgt&+%wit)Nvh+-*BF$r(NwkGY4K z$r;Y~VkZ7q(}tu*+k^y6OVLKV?UyEjw6!SGXu}5kTQ`%p+r?EHEUv90(o)aPvbHkX zjEiR4jA&Ge^0g|VeJ)=SZJ)FKK^VWYp`cou zXrI=@whme(Gq0!B;@o<|cw79n-v8~y467h(K}!Z_=`Tt332%Qzx2-wZt_=NMFtTMt zXSvj@-7g?b(?N2(Z)=0qu-#{K9BcPZo}k^|!*nC5-P;@_*6ssAs}2C;b64rjU+B8= zlIa7n&>4YeN%3{8Oa*nm!|lVhkJX0WLe{fDr7CQxS|=3Dbr%NE%xMKatSLkFO(n5O{@+WYnp)bh(R6EGQ}ZS>8>)A= z`BIiMOAZ%Vu{>VWGo-`f)!S^KSFJuNqV29 zx|ep$-t7_TJ(a&oQ97>~bSNalxUNd9#aTt9d@9OsP_b5PhN^n<#%YrDKbW=K-i;Ja z^?mK1Nt1H?!n;e=bN5-h>%A8L?clBgbN8{x-G_7>)Nnwx@W4&EkKcB*9`n z{b9Lhaf`Lg9KWsB9X$V&?CxDD{YL<9BMZ+vys}6M6{!)%p9Y$_-qKfN@NLVIkVXpS ztC-m7xFnG-w-#;Do6PoIi`Eu#NuuY^{PvXU>5ItM=)R=capYN#j!c#V4|W%)da&D8 z-usZ!r%{XIR-yLf9xnm)-uzvr?Cao0+;U0X>^r@>qtc>i0JE@a$-jjQi}*LtBaK zKK>g09m-2zu&Cv}V9`oRsN7m7RuU3g*_)G5t$FQcqOv*rs*;Y@YuEtj6Dx8*Fk8Y( z;+dT)pv)JXkF45hcpHEZea$xhG9^p7$bX-e;? zU+aB!=1CU_a#@xj6Xh_1#Zr;G`(b|WrSfsQW}Bpu_zEuXVP9FvRw!A^Sbs|rw^2Vy=+Sojh&_xN?$;cJqOPr z`+cVR#K^cUR=(hU3WZHQSXJ+$j>qg0UHoZ^#CW~(7W}h4Rn~B+O*K@-7D_S@>Uo7y z8~B)tlsMg|mhOAzFnMy7uwRabZ5|2RqiWc@qG2yuzFxXbs)qfGE(J2|kAyulN%7`Q zs;qVTA^DM{^3}2O&8xgs{iN9N+gkRu^ICc(Y+mIp1^1l&dQwrByKLMyhDQ1FEU-M{ zIvF1gXpa=Cos=Y=t{N~q8qhWq2-uN;{&$OHhSBDUZ(TW)Jk?@q?+LwQW^9aUEzwoc z%Bc#CgVYuM-n~WsT)AHE2tR-2_tKG^VtvmSYyjr@hDS6p4clgQF;36&M8w)9skPKf znRz;YISn6f)KjQ|pJ*QxLklR?jG%ryFXC9L6QRBOFv~1Rxw?QK_X3)B{$`W=8^-vl zLaEYK9&5|hmClxxd5+%7eUl~po`wrI6k}*jOZZ@8rlB6>Ef!W&uWGhRrm!zHrT8<+3_Z2HD^So9$r4bzAo%>voYkNl&+_-?#SG_&&ALW_)^|Pd^@~Ctb7Tjw*@ z&B&9ke_9nh>Dq0Kr%d;xYkV!XnuR}V^A6?emT$b_KFc?C#zyTj3qNOL9{0+J)Ju>0 z)-#G5b6bh4fxD~8j>tV)9td_bKV_ZCjdw&gCaj8vqTEx@{FhAvR4sK6a9f#gUQsANL{p3B zLKIio7_r$(W4j&O#*`CMDN7Retd!dy$x;wiP*PBguhrMp7+R2nqUNh{Jn`|Sc0T3N&IDm<$Jw75;sly+X^?EXLhjvH4P8b5?@s^ z3xl8M2s~-$__*A~e`$gV8!X@F+v(lc`Tncz!Fl8MUh$|8aBA9oqD+mU!n68PTVz|5 zmh}DCdKNhL{a61=`2E*P8Dz@uzlI}{lwW2&rD2BmYFaQBXdfLO>A82=kNvYwqEOZ0 zhL9sw=`Kb!9gh{NB(cnNfXeV%-{e&5Un(}5@jt~{{%wV;QKvF>Wa#3&X;?7X$dcrh zk)=KId}q0dU?z4!dFnQ{^efp+*n?X{Gr(j|`O{H~8~2p6gK2F|JY}sPMLgy2%|J&5_?+326J_^ttpWG>I1`^Z*aILq(HV;&l9G4+4US!Q}MLuWZA9_{-?Yp-a~jYA3J_& ziVWMtV~$Lj;TOD^iLL4)lAPsfo2g+Vo?T)i|44I8a+a@O(ey0vmMbmdb-X2-w@QdP zOm$1jt|ZaO{5KoQcPfZiPw~+B%!BgDq0j6Z2pjd8YnBC)R78B{2busT4$=hnCN}a{ zsw_$T`%{*6;4}S(qpbyh9GvA}^VZ2PShSW(LCvPRFlt>TiBoD?(Y5qpFPdZ;8S2eo z8_w(f;0hMi-;;jBv_enCe8<95_-{WOv{Zi_HdvzVR6E})(PVLtt<|3EN~%HG|HSHf zQO;TurH;9kB3of9^HS?QLu0QcldPIoT8Os@{j^d#?miwqLPCW@w+-s|qeHhgy6e59 zG;fH~wnw_F9lG7fJ)y15!G$&Eeac!UMHuo#B=Hs&*`C9 zPET85sUJV5ZzboX`9*uYbMmW*HQr%r<61^#8)-X!MLu4=dvukAI4gAB*z<>1-;gTEbA#|tk-%%Hs|$P*6n5nit&2oe=}pEyR9(e z-hyrI)enrS@`6XFg8YNgPBa}N?)B=0WNC#Ah{kZCD_mzG zY{S&N&Afz`VPkLosm5&mDRcr|RC)CE-YQ~q&h`7FT3BF9<6Q;jk@m^%ihah49i~Dh zr5~MtJ<(7-pE^8!*1I07re{|#J6r2|2EE<7sYRI*vBFgF6HetX_v*J6A|{vGRJ^zD zrduRME|**LwqCq_lcC<7-8eiO>ZlI%3(s8kwo|-~lkdC8_QABc7KeVtQm2U*{r7HZ znY>!b1gfl`TO-goXi0zjITE#p4Ey6OKi-iG-bz1TiPe1rEpPX^s)G!W)!y2q(4SBr{RpB2kBC!3#8 z@dW#prX226t5dd8^JhP}&(eP(#4`#SkUAwcgtSVNfE+Z}mjwdF<(=vfj zgwBCR+^26!UHeBn(iGZxMoNr2!>=G-;D_BfAFKVM2Hq-!BI<3KfhM_qP$A+BZ;{_f za)vLwAdNP#>vDz(+9~nteA(hhonc0x;FL4n?Gut_x>bD!F4*RPvGV=!iFo;bW^Oo~ z(vGr1xi6Ld;Ojc{%2&%P-z~0u5m9TJ?q$+p%DV6E`9Xt-t?Q=LXgBryv9*Jmmh4gKCTcPNsFFrBS}!cwBaxE*cz`QecGP0Z zWFAQt^KDsh;+S2R#q8iO7W4al7C*2U6E@k85$-qi-e$iQ+E;z;mNX^zk4mQDzuYla z&*3PED&I0uSoNZ~bN8rD;3+#NH6U{MThKx{Jz=NUSx0JW>jB;{en&j&PdSyK@pYs* zTDmqL5dR&anHD&-e^;$?H0TmO`hl?@U`Em1)~h(qzAj`?nnzmPBMb)+K3#qSZLBY%Ye}eoW&J zT2B;cyox(d-K!L+Jw-I8F36wdSK9`DX$IuaBlf?RZEfID+69h$`!jC%5qo^xJqvI% z?cgo*k>o-Qa$2Pw%rM_vr5y~kz_E7F&$|+~gRZ(#<96^( z^DIHFm{O~>gMJSsZZAfzO5 zoYNF7;fr>oMlIo~e+*j!b2{&1I=7@6*+yoNzhdBAlDLD$$V_s}U}smsRMl?J-a`&jP*k%c&`6uxqB?a&NIwZ?QsF_mt}aFtoEC7hQe?oKJ=uU%+c$Dq^r9_JAm?Yomjs)r@dXC%%{SJF#zUbAGI_vUzo z9UuG}b5vWOSn}9w(wVAE^|A5nU1}(UofDISWNUG1ON25de~Ivn z>ORu(`CAT|Dv?5Isg37n^!sYEt;h$?veXO`E#>*by@ND$Ptm=D^S1TiK5+JE4>IvT zaOOSeVOmqQSUtNrxp@hxjir#5J!94&ou}+yZPHSb_=Q!f-^+V*m~Scja1ImoWL7pQ zgw0)|_lZZh9wL!TbF9WE)^vVZsID<=1lKKZy)XIYO?KNhD3+L5?`kDTb-It9SLjWi zEbrDgbu0D^(+Uggo?$A<)?qmJsJ4=a7sM)AvCz)nkh+4(`jIT`jP>sNw2-snM@sI14n3E1mPrb!Iw$KO*<&h9*7G-Qx_7gBJ{YaNNIP&NsIe+Yax?J? z@`7ApSjMbCXI7=&_-i_Dtt7GQt0oxzgEubnKd~LA-9Bjg-byZC`KTqO19prx_ zJ=mRgTIGwS@$qr&%n}_eZI{Z?7Hi13v#3(qy(s}(ZaX?o!5RCPUI{!ve$6HTwUXu8YwMPb<8WjbbQ8_Mj zFy6YG^T>G1e@KsUS9F}K0-Ww*gGG~43j9jS^#9b|a->kNk#=v6_9^7Fyg4?z3SNzGs;149u0rw_b;aejrw_sT`v>%bTQSlE|PYL#Gj^ zSWBnjpysx5b~C!?USz@jtru^Ekd@Tl@oh^VQNYL(1m`U&^944qC`lB_+#@bs3W|L1 zqO%e#XIK+_+rA|6L01f^xkidM7bx?ruDDxD`?7tHNt&1?Mrc7obx^9j{V0XhxthF< zxaL(hoc^%VGtHKJLmN%|f9IY>QQ1)&2L6kuNXp_#IxaQgk{k3-)!2ZocRw?d=~^|? zXLadpThqc%%_(~I^6zr5iCuWfy@?h4RW90-=&Uf|3UQU5*mJ>|(nD0=v#p{`-#qN2 zFFPy6WQ9lSFZ`JOBQkumSdG0(5>0J+yXx@#Us0-;UMgFQbi!w~Y!I=xV>*r4+kbMJ z)Cm`iRT$sMlGhSGS}#0L1*xX^@fPf_N?DiSx8m8Ub^+~e7q4;0dY7ztYpBv>|5FVi zsq6Mu5yn5a zYCS%#`C#coww!^sJR82Gg=7~r)ntj*@Hw+Qf6C@9jC_fKT#89RY$e$8u$3x*Bo?nH z@9nyZhindRqm#(nb*6??0##TGnPrRL{-mZPF^SWp*;`N3bc$t5?>)vk%JgO@yE!?& zsseLUWA{sEeSvRO{%`B*+D^?Bycu!I(ZrE1CP=1APti&^WkB(rV#)8%&O8^S_Myp{ z_ZYxlD3eSbuQc=WWI-(@1p;;nb?5 zIGjv(r#f=V`9+jlKJxQ6nKH%bhGChhE3|~SHK_MiPP6RLTN=9ZsE)N2>TSWgZ|DEe zbyC)|lzQ5mApf2CxwH1f3;d-4tm|O$ue)JbVRm_y?1RSsXHJvs@|fm#sqE5gj{p9^ z|C1^yds?}KdU>7Gq$=5H%|<_GkZr2T{>WAG4Jj>JCHKjwB3bt$Yc`9%sTs0gB~RHj zjC{9R!*^9uA3w|d#jle8(9%gF)2?d|_oDT$ZrcUk}_nvD%*vU$v->_0?oG-ji zt^ZzuBDKB`4FoOt*E$Vr{Rd{hQV(8*g1=|MlWILH=o}(5@lJG6$+~ZptLUEYn`hF4nDJ5G1aZkyzokOXxq~5aA>gL;lP5DEd>&P@Wp6;|8rW=lm&Ge(=n%Icy zs0NXdHdFNc)uO`6dCy<1)$oP+(&RUvul(@Cw6wynYqs=m=B;UoarQXRl24v(@Hfqn zzj#=eau?NkxcC+oTEA>Pqb ztr6+t%E?=y3M&@hQj&O^WjJSIUOv0HgoS;+XJ}!5UhNr>n6vi6zesp%j@n+UG&L;sFmzLty!ab!sKNa_xX`J3npfQ4>V17*FXMT|8VqWG)b$jVc3fXe zof5>a8z+gIv0SkGtHL(0+pOKaVt4xLhaWz@ck3L@kCozWx$~~2&1jrk^tJTd`-*dm z9#txjX6j$o-rQTiSi8H-+isQYx1Idlq6@iq)cGLWE?Pi4d*7WYik+QxXNpY!_h#>Z zRkZhB`rkk9dF;O8$L{;>WA`1(T~s&sgU|J@Rowd%Z}y&dNUpuO_XqFf7S(Q<`@vl= zDSmj1pd-_J*LuD8Cl2+VSEefHl}_aF0@210&A-^UsFW0Ywp8G|vSasLk{P{g?dkoA zvflIF^pdnpB3ClVB)s5Ky7q_(7hWan_hT3P7L|EfD~Y@QJ$BD!of$2jm1d-b@pYl{ zDV_-vxsn-ESMH*oEiLV@l6Dx(i8wmxDk2VwUG(+cv!xQgt3~Xd)9*;h=PSCO{SFKj|#IE)&YAECI@>1@hj(b^NvFdVp%_M#p&gC^RcC~NO zlj#^7iNqA|5_y>5z7G4!re&pli~cFoEcJy$g%9N}Qd@Ya&LK(3R!dtEi6*jB~LUkvUe=*)fJ{!B|szE74wQF^Dt!pa#k6lc% z|JXgHtICX&!Z+m&1oNxGu3By@lde*VMX`&%8eDBY8M|l6n1T1^s$XtD%ZI95wJh(A zUGaI^^6Xk zdF9!WGp|wZ(9CPNJFJ0u^}Y2rbA?sBaUG=)T2|j%|0&&qI7du%oafhPMzRR4GaRD0VS!PlfS&w?3Nbi|yCzQ-ttU?witMNmt1zJ9aT{O7&y+ zd{esiV6?P;mKUmAHB&kfyBas8-P{Yy?R?kP*wrLcdWoBUxvDp%XB94DN(1dQG^K~_ zG%%&l+nF<^W;%4H)YOigDSgTvnkhAQhoLFS)ivCe=$1d!{ydWZAOne#^g$XsXIR+L zWx4aNq|LZJ(fY3+emE?5-h1hLb3ZtmXsWZ^qHBr7ZE0!VRU3g=#G)%U?(VFC^Xnf3 zQOKsU+q6$9n~F!KX~;q7#C?BLIwY#WgnrJ}?&jaEKYx6r;oSW;^1bg+(Vkidrs~Dk zPwgF)JNiQI=r?m~9ZA%&wD)=evui1!qIS#g(*2b=y!P09yT6U6HwQ6M-SQmqnY^+sF%OBQ>>kx`(mt}{g<5v z?d&x>bM0)q4qZFjW=F1_{n8y;JKO9IGd1>ZBFo(+A=7g27$kX~O!rSD(32Vdi6nY5 zGv6PlOj7hn>mOvNVe5ayP6Mg#wlgPHa~(RVn%R+)>eKGfq-x?0CDrv>+ucd6?d~Iq z@BUAuwe_lTYx~fQ(>KDz?~@EVMQfXcTS>Bl$D^&Z8Y}ohG>o&b?9hhiRi@4O)F8}8 z4#ZmUdQX;N@+py~C=ZeCrG#@y-R4TJq&D+S(E?T@=z?gN8nwBB(HLQ>z60n|jWC~$ zMoZo1KKzT7BT3tTingaPyI7lhJsQSr>FzSMIcLh&@II|muibIznjMFk)9#TW7Iu(% z*0KThG&}l)1+FvI9h#v|a)&b1dphJ6J-}o?_cN|J`zN$#|AYoj(oKV;GsC1m87AE* zNLq5=6Zi@*aeT#RBEI4?&R3B1Yxnt5|C=2-sdu?UllouWp*62MFWE6_(aBOfnOAO; zZ7b-v!c&VjCp^t;xLoTNx8>eb7ayk3pOHF=CExWK`7wN$<}#m=ACnJjxO{*5#R5}l z3rhu+X4#Pw?z8UDa%t)gUE8OdZSq06b*s0zZuNuXiC?`(D|cP9`TRuOxoTPA!McSl zav$uKUf4{`C~P8T7D_68Fg^?v(QE?YpRM z-$nI$BjCOIW8;83&6Mve?paja{e#m}_5JJH2K63Y+_C{*?NgicFm5R=P0_S zMZji~HE~+`abs`jVq)#1)C<5U!%5IB44PVk()XPNFMB@IB-n1(Oaf)(k4j=04NuC* zN^N~~ic-tV^^OcUDD^-u&lZt9v;90HrEc{FmHL1F917!)v2dPMlKtBSSCs$o26tAJ z({_!bIN7QjVJz`-L3P!XdVDmDl9QJn=Td#Rnivm6VnoW-ubs;EnH1%UDf!AdCwind ztCRkB(V*4H^7Ckzh`BeMtCzB=Ihp)1S#fvkw(jUY?=NXHKCWSK&!Rm&KX<@}!J#QV zsp0lpy+^;FxO~=Ber4G3CkJR?*n9Ma#7VAP8#0`s(4CQ?(47(YcBgZ13X_$4XAk|W zGvr>iRa-SQjY^U=>JQOz!?`OZUzj(7b?iO*_1rr>A0_{Ar{|(Lq($3eM+%tly-AlPuehr?qBx1#swO+c*D`|U%6>7+hZ zos;_VyI%VVtl$x@_)hBfh?BZK;-qemIH}t){9m^Y>%N9g>h{n{-5xrr+ubnAoYd_& zsi*vugI53jQ=Zge?O|0lm-aS4%`k<~N&V5fa5ra;I;k3pyZQ5;A_8&G{ps%&cd(x( zR$IN3@)cmZ3!Ri-SzI-@|1m$gpw@dMVpS*QCuqj+r)b9SCuyCOSO2Z57{BMFmRoPG zIZf0_`RU$3&=G#3fuL(oT4H~Xp!NMUBVA}}C*=!yi7 z@qTjEI;n0X96G6*r~Pq1?a=alCv}>>pG1-Vzuj2iW~KjmOHUa$>7?$f&Pi=Pffgep zsa0I@oz(piCv|_sN!=fDQup^T!_V+VGsV_yBz1r2r0x%$)cv88x*sRC<4&*8L94&~ zM^EZd(U?Kar5)v`8Kw|AsjiHCsH~`ys-d{I`AG-jKKgfy`$`K>1z2tMPRdt++P+^~ z90nsPS65^FSq z2Y3VhzrOwV3i^znrgVAzk(4jwjSGK=pJrHin)yXH25`;1=E?2LidJ`iijma!NH}y- zHBWn-pLR^t4{UhWGfWieJAO3j>-st9VT#sI<}R7lGClE}npEPX#uidV?UuF@_(=Xe zn(-Ahol!rxMB6I1WWKNU-lSvA3%%>}X0^;pD{PsoznN)TkI~FH`c;+L}>WJEYyM~3Or3r^fWOh zra^5cXXQRvr)_gBns+N~?{)+qtkc-e+ZATHy}$?ST>Y%hn`>o@J?sbToV4=>dKe(8 z$!L+hbPrp&NV>1uc_iKSN$D=WQM#e3a^*AR^RblbG zA|3fmyhyw4JW~4`>^!2XrFLEetD2pZ?%1Ss`z58@=|<^>s=BDQmv~wuoSU<%u;?FA zRX=YUSJg{)9#PfT?L4BY(RN+~t9m>s-G`FWy)!A@+i#Gr_kvk_9+$Mw6nIZNevF4B zALD#iJ@Y>9>Bzrz)}bD&EXmepZrYrZoU3MSdS3O`Z|Hg5C(0M)T+LmXThen+I@fcq z);fE_!s{_XZL^+B*K_C<1G@jlZg%H=liygtU0Rm@aJOBw#{s`?dCc1v`CXc9iC3y* zN*86srf3qQur}$+S%C5WL-l#CSZY0bgUl`KZv)k(HHT_FVbh10V9ca(D z>TN-n`i0-_{qU}h>uyQ=@UBg8Gu#5V!fkLn+yQsOUGP=78y3Soa39`I1G+}qu>}g7LJ1x;6ykXPKEif08WQ9;7m9R&W3Z~ zTsR*tfD7S^a4}p8m%-(51$-H)?900d9nw;AXf5ZiU<6cDMuXguCFY za5pT5d*D8}AC|%c@C|qnmcc{tFgyaw;Zb-D9)}h11Uv~(!2~=5&%yKX0=x(>!OO4` zUV&HPHJG*@`-in*U6>B*!TPWP%z%wxW7q^{!ltkpY!0(v3)m92f~{d2*cP^f?O_Ml z5q5%|VHemHc7xfl2kZ%Z!Ccq}_J#dme>eaRgoEHDw_ybLSh6?he1gK0m({$Xuc7pB8{us&=6Ghidw7&d{KuqkW?o5L*F z0=9&$U~AY0wuS9rd)NVXgq>h#*adcl-C#EC0eiw;Fca8_t1q;e5CNE`%?_#c(NH2A9JX@MX9X zu7a!K8n_m&gX`f2xDjrGo8cC?6>fvu;SRVH?t-tv-LM$$f&1WoSPBooH{d~71`ol* z@CYo2N8vGe99F;+@FYA16YvZ?2hYO`@FKhfFT+ZB1zv^MVA=-kAJ&F-VLGe_>%#^x z12%$!qU0_$(4Q9h0uqW&Vb73FY z7xshw;Q%-g4uXT>5I7VLgCpQ5I0lY|Z3%&|>!(zAx?t}YbDLeq*fCph2JOmHJBd{DEg~#A=SOHJKlkgNwz%%e1 zJP$9xi|`V>3@hOkcoklQX&bSBSR2-b>98KG4;#P?*a$X;O<*Q$3Y)>^FblSTEnzFz z8n%ILVLR9!c7PpWC)gQwfn8xYm<@Ztp0F3pg?(UO*bnxH1K>b72o8or;7~XWj)0@! z7&sP=gA?FHI2lfb`LF;^hcn0?Xl1 zcnltg74QT+2~WWUJOj_c^Y8+^2rt3Quo7N@SK&37_A~4s)`oRqI;;ol!v-(|HiC^| z6PO8`!e+2J%z`aoOV|pwhHYS5*bcUb9biY;33i5EU{}};X2Tw^C+r1tVISBR_JjT5 z05}j1f`j1@I1~1kPKHxqJ}iLK;S4wv&VsYy95@%whYR3B_##{k zm%?RmIa~o>hAZJJxEij3YvDS$9&Uge;U>5lZh>3jHn<(`fIHzX_$u5Di{T!)5AKJh z@Bn-R9)xA^5IhWzz;bvL9)rhW1v~*y!c#B-&%kr=JiGue!b|Wntb|wKRd@}iZNmOx zZCDqk!+NkjYydN0BiI-=ftj!=YzCXdEZ73Jgsos}*ao(R?O=P@0d|C)U}x9`c7@$w zHtYd=!d@^J_JMt2KiD4*fCJ$mI2aCrL*Xzu0*-=X;8-{gPJk2PWH=S(!vZ)R&VV!F zEI1p^fpg(}xBxDMFT%xeDO?7Z!xivlxDu{{tKk~B7OsQq;Rd)7Zi1WP7Pu8|gWKT_ zxD)PzufpB1818}l;C@&N55PCzL0AS4!Nc$fEQd$oF?bwSz!UH!JOvZ*3_J(V!wc{t zyaX@9N_Yich1X!(&#`}48`g#CupX=r8^8?M2sVaIU?yw|o5AKV3$}nQVJp}gwt;P7 zJJ=p}fE{5c*co<#U12wv4ST?zuoujQePCbM5B7%x;6OMC4u(VEP&f>ZfTQ3TI2MkB z6W~NR8BT@yumDbnGvG`(3(kgf;9NK#E`ST+i*PYq3YWp%sc40nC7nU}M+>X2Pbh z8Eg)-U<=q1wt}r;8`u`MgY97l*b#PuonaT)6?TK!um|i3d%;}T2lj>iV1GCO4upf? zU^oO0g~Q+oI0}w|W8pYB0ZxRI;Z&Fp3*dA(1I~oA;A}Vt&V}>g0=N*q2p7Ypa2Z?< zSHPFyO1KKHhHKzjxDKv|8{kH`32ug4;8wT|ZihSIPPhxc3U|X|xCico`(Y_O0N;QI zVHrFG55ps{93F+o;Bi<1Pr#G#6imP~@Ekl3FTjiN61)s6;T3olUV~}B!2V%vSQn;Zei zUN9H-fqh{=*dGpn1K}Vz7!H9$;V?J?j)G(0SU3(&fD_?lI2Go@0yrJcfHUDNI2+D^ zbK!ir04{_t!o_eYTn3lJ74T)a60U-);TpIWu7m602DlM!f}7zMxD{@L+u;tl6Yheq z!ribK?t%N@epm_*z&GGQSOyQl!|(_!hezQtcpO&16YwNF1rzWLJO|Ii3-BVm1TVu% zcm-aC*I?Qf>>t*KbzwTJ2kXNIFatJ%jbRg*37f)ZusO_vEnrL73buxAU|ZM@wuc>H zN7xB=hFxG+*bQdG9#7tV(Z;6nH!Tnv}OWpFuM0bhnI;VQTqu7PXeI=CKgfE(c^ zxEXGNTj4gi9qxcT;V$?p+zpH29=H$gho$fUd;=bYW$+L@43EHacoZIk$6*CL0Z+nH zFagiNbMQR8058Hz@G`7~SKw864W|7P`-in*U6>B*!TPWP%z%wxW7q^{!ltkpY!0(v z3)m92f~{d2*cP^f?O_Ml5q5%|VHemHc7xfl2kZ%Z!Ccq}_J#dme>eaRgoEHDw_ybLSh6?he1gK1l_e^?vVh3T*!tPdN& z4A=-ZhD~55Yzmvf<}eGkfGuGw*c!HhZDBju9(I5oVJFxbc7a`CH<%53z@D%d%!Pem zU)T@!hXde1I0z1gL*P(2432=K;21a-j)N26L^v5vh54`mPKPt#OgIb9hI8OtI3F&6 z3*n1!FO8UtKe$52Cjwc;Ci?LZiJiQX1E1zh1=kExC8ElyWp#EH!OyG z;6At?mcj$@4R{ci!9(ycJOaz%QFsg%#^x12%$!q zU0_$(4Q9h0uqW&Vb73FY7xshw;Q%-g4uXT>5I7VLgCpQ5I0lY| zW8hdg4o-j*;bb@!=EDLw9nOF=;Vd{C&Vh5`e7FEEgfGIya4B2{m%|nCWw;Wqf~(;g zxE8L1>){5t5pIH;;TE_RZiCz54!9HUg0I5euo&)v``~_93J<_H;6Ydh55dFm2rP$3 z;W2m|R=^YRBs>KZ@C-Z$&%+DwBD@4I!%BDsUWM0S+AG*UtPShJbXX78hYer`Yy=y_ zCNL8=h0S1dm<3zFmar9U4coxBupMjx6YLDTz^<9b9 z0dOE31P8+*a3~xGN5D~V3>*u`!3l68oD8SJd{_Xd!x?ZUoCRmYIdCqV4;R3N@I|;7 zE``hBa<~G%3|GQca5Y>5*TQvhJ=_2{!cA~9+yb}4ZE!o>0e8Y(@Kv}Q7Q;PoAKVX1 z;Q{ytJP6C+A$S-bf#vWhJO+=$3U~sZgr{Hvo`L7!d3XU{gqPrDSP8GdtMD33+m8Li z+ORH6hxK56*Z^k0MzAq#0yAM#*bFv@S+E6c30uL|unlYr+rjp*1MCPp!OpM?>;wD4ey~3r00+WBa4;MKhr(fS1RMp&z_D-~oB$`n$#5#nhXrstoB?OT zS#UO-1Lwl|Z~Q zcnMyHmGBC@3a`PmUt|BUHmnQNVLezMHh>wh5o`>bz)aW_HiOM!7HlEv=V6w7_WeKH zlGgq45AXWz)3>B88}~iEP}Z1>O}3*wb~MJ0{$NK#?C6pm z^|zx8y$O4|mmRgYqpo(;-;O%ik$nXCbZa~MnH@E^qd(eFV>_y=5}&STN4@PR&5owp z(Pe#)Z`^n7=$swxv7-}qbk2^-?dY*vb#%~W?eqvcdcaZ{WJgo%sIMI@v~WG_ zXn^UtvmK4Kqjq*wU`H+OXucgawWIIYQHCA;#E$CP(JOXzRi6wTx6h6)+R6e= z(%bc~zW&*Ns!IO*TH4n*@Ar5?=i$T0dV4)2jaa`dx#1&@s^7(Fg8zqjr_ zFnsvv88hy?@4gQCdC%m{7+#P+a(uzG-lKDJ`i{DffA)KM)&BQ)r{6y3|1SOZ|HtxM z`Zptghv8ouH!}bKo$^&HG5z0k`Zo~%?@GT0%Ky95ze)M;8{U2Lb2p`aYXdd6&ySM+ z4T=z}- z4_f?5BcIJ1K26?LWh@x^OpuB0-#7fR!UFYdHA;F~!IZ*@6VryZ9NMnUJ&&}$`>ChD z{`{=8c25m$GpwckX??dYe|=WcNj)z_y|j^I#-vRv9F;aX@0qkog%i_8jhs9tZIntq zYKD;aRo(b%+QfpiXA06L>gXB$Yd<5c_vGm#CypPJ_4xRid0n#Z8dER0GP!WlsJ#5F zDPyyyj?5o9DX$&6>7ZS?r@S)*lbBPBt;Md=sRliHD~Us}(~n=v{sZ_Ko;iQ^}Y zFKCz5e`21jJF8Itrj47Dub7_DuGnp}RIS{cB%SK!C?%h#M5gBFO`E0~BY+ut*6>IB z_U`ee!Gnhn$ayqp@bJe6b|08Cyl?NvdJpu}+%8&2WAet1ESy*{eB{)r(p9Wzrl`DV zNv>ON8I~$KzL8uKl9nkr@d$cd=~-AJ!W-^#23YNXVzLLzbnde0g? zapbgVE-NpdS9>?8KQEuCZvBWU^Ql>Q&kmEsYnRqPR8`h^*Q7>IoH8wMjOD5JJI+k7 zV2W&Esv1q!s5~|AysVK~Uo9Ldw>fq^1{RU4V9K+qfNErlg!AM{wjx(jzrONEPJSk@ zy2Rr3HA*#eZ+_m`Jk`AHQUb{7KR0>Gr2n6_bAgjlW)iG?57jBT17L!IqRQ+OA94qA^r;U8+Ns)OG9DtxLL9)vc;dQJtc?F4YwE z+w%W>&+|Dmd**oN?0(PxdA*q3oag;~FVFY+K9_Umtn~Le96GbgE2S5%DvpB%=PsA1 zsYimGS_*3nJIoL4fHK|{hnz0{Vd&u(Kkt%Xl6TSzzjp3ITiWsL5A;?V8>bb{{0#Cd z{=aO|eCPDc{3T~Q3y>l*PI~c~i;=vS&tJC4$t*o@;c{mgGFGdzOp>azVi^Xkb1sJ2 za%YvPI;cO=^H(hLJY5#z^#^0i(?M*l9bdbrp)v%6VJ5b1vq{&lC>Kq?iejy^2J+u!$%(1>>PX49Ou}U6P?-e-%%~j>?4nH z4m{{^^o7hX5`)Iet@CA)JukC($wK71<*kb`w@sCQ#OOI^>KVwpn2VM#Up)WJg$UZ# zbC)kc)6TJnI?3kQPV%7L@ZSvlw>$o8bdEgmaOc>Qj)c%z&Ory_^9bkI<7PRtk3Gma z^w>uHw>$ouf&X@Mkkd2s&zUbX=+txOFF)J)+PO=S?Tf#fd3oxJ#b+*Y(&C`y=4Zsj z0>r-gW&Sz%b%iVq<}X`{?7wu`qJ>xwoY6XUP+oPGFFtdT|6k_IOul%<+0L@exhqUl z3znX9&U|Ol`DkH@gH{(W#R3F*aglSu!sSbyrEpK{c}tzvMavg1gm2DW?wqlB+&SB2sPP21_bEI>WbF_1eGuJuRX>pEoj(1LQ zPIOLkPB!jX0g=lWPGxpC-R~M_d{cIL!Q$l$&OPUh%)(X9xl7XU@B(B~8LcZ9PL)** z1}cWLv%rBToHLz8&SK{*=WHkAoZ~EUmO9IvuQ|(|R_9!2rL)R8-?_l(fUK1{zoc5S>#W5rB{-FYCwJiQgWKSXeY(4|Bkro*FO!uIRf7WzLETN zS9&G+a!%lvUjW|_fp5SKjXLspyQy33_BRIPr@@aVFW!}6=TF2{zy4j|6Xd_=(v|pY z0(=4dCFJLY@}~rNyf)jpjl3p*rNN&Qf$svp7kSCfQtbYdD}MhK@J}0(_YQRId_#b5 zz>t3bW|RLWif|M=UyrMP`DyTdmI!KsC0sLv?HSyDco3{z_n)xdYejNGPq5U^A(0^Uvw z1M!yzeI17vwfUAkdx zdsJpiVoxjDnS7T%pRWZUBfmY`lVZ;&a$-<4!<`S;gD>1^~7Y~)Sm%$QHt@Gl zzAFB~Ulu|C0r01jFP@7(_HB#)!E^DZZSX8D`A^*5t2BNY|L++$xcv`)FUJ3lp?q*( z(hWXNzCM(f2>1Jc0Q>;;zc7?v8Q_~RwRrkV?@F=fk6m%qFTV|Zg8EBzOR@8Ea^UB? z2k~-Mik;sBSN;3|_(_y6{UOE9%Lw!HO>pT1@|t0QeWkYu4pW@zVVBFIPI`UwpY`{4oCCHfp%>5B@CLU(A2!+4wKXf8dvt z^ZO2+9{|6+od4o7i~d3RP1`xnO7e3(`}r9>*OD2+@BcRNSCCirKlpS6egOQ;2z(P# zl9zw7q4wVpv>*H`%2(xo@be<*KLEZd0^fu|KbCxP{{LmWC4S}v?FaAWpJM!9ZsUXT z*A0FOi=bB&H-!!45Kc-T**!_piMw$QGz%Qfz_%VdvF2HvKnoC}; zO0mnwVy{g80Ql+TRsD}e+c@&8TH`~4e@^)cu#-Lxnwu^ddk<# z9|PbAIDV#i`tvh5e@TRv#eak2yh|Rp7~Ep_KW@U7@onHABrmHoDRzE3uKMM7gU^xI z_-_FG1>{xzk3k=0{%r&A&A%G|b%U>s;Qs;euWWn)vMopQC(D{0@L$Ltf+mCM;UcAg_tvHt;F(=!y{k)#G|u{DYrGK0JSJ z2p;nv)1aIG!8efCi*$XZCdm~hk`--tmP_@_*;>RS6znFg5+cZ-lj|I;`+QF}i;Kv^D^T}(@@nT4R z)5&YbK@$7`{rGR=J*Vc`3oL$Q9R35B;YIOZJ9uv$)g0=-Lr|mWe)l}P2Yff@LEP$a zi#?9yT;9*ecEL$Kc}*N9!MBqCwkLn<5c^jfHC+3_KTaN|xW%r&WD39jJ>c&mubBs9 zI6PiSUK77b@ZLJ^oKXE21@vzRe+%W0^v2`ihq_m8AC|T;icJQNrs_(xZ@b6Op(M@T`XNM|(U!gZghA;FI8A zrhLu#Z3q7(`6E2}N3FE<-<*K_9`G-a*XSR^(mESK|0MX!$jd3E6np$ghW6*LcJL|k znseM9@W+$KlEy7|`4a;2V>sH_pS))LCBcs)k5CMekIA~+e(*KqHwooO1o$5CeH{Oq zb!cpcSoehTHP7B(3xV)WzFCUgZl9#h+XCCv?&G=o4J+8T~x(<~%FXqAjg1khX6g!X2 za9Lc&u~fZ-{4y`EFRnfZx%uSIBxlUM*nH@ati#f z$ZPb^f`5SgaPy+u|KQg|&_BMH<18eAw{C$H_N``j6vxmT{w-|G=*!KXORCKY!%Gcaop%@&CzK<{?@6`}sIhQX6?q z{H4I3PJXl}pPxfnS7*UbkHF`_f6jS$xbkH^5Z@Qi=a9cJRR7}n&{9+_I#T*EjdmQ` zF*jx!vgbj$f_Zc{DxwwPyTEVpfXTy~8oWXtl}IUyH_yL=|LgsR$5z=bcKNb`F7e`r z1}O0Y`Cl5mg8ZT%9va+`*pb2i4x=68LfhGDFz(us1K&V?xcw>e`|-bzXvcz3`5ccY z88w7Y?1%4>P`+k8lL5b;@}D27{3lBCbKozc{E4A_y#ZOzwIBQf^2dbowEqy(jBEe? zIOigdrKMZ!aU>bD6i32mz@JGTOLn)|c^qn#@j37(lUMaW_{kCY1Qu~0v;SH`^{4+1 zGiJER|7Zlh32T*al0Qw1K(X7w@gM^S z7Kr|B;JeEC^U{`h3i93HpC&(BgrnHy&%{-K91Vbfj{GhHqu6;_0r~l+gRnm(KhdQt z@$~_|4g4DNn*CKb_)E!$j|2Ko5-) zL4I;5zhi*!20xDcw?cW^f3ays{51eRO+=EdpRP6eLnFWGV8?lnyheT-_&)L)|96AGF9JURzJvUpq5j7qYnlI> zur|7cysUPl*!xdLxWE6}z%L`O$=}`J_l+Qb0Q}D6HT~B#$8k0#Kiu_%oBzST#(5M+ zb#AfyZ`XkTy1~ChUXwouz;~0^=-+gx<9wTZasK+Q8pMUUNR#4gN;*5}i`) z{*#@bKmG>5e=7ptgthGjxvCAKitA6=y;7=vLvrAXv8v=Yc_=Cx7`fmVy9eIua zn+`9nV>SM71OFec12ud%__xSw{5Jspx8ybcYif3!o5}yl>%V`WY>9t~44iB9nr?K* zKlnZAf6e(~H~1Rzn*I0yc+Y<-`*E{&Z3O?ff%p8US-*9I|32lz6t~#N--fsj|6|Q7 z!_Zy-fWMu*D*qpe`IEe+|JuNxM*e!Eeuex&{X0tfcZ2u*uQ^W|0Dl$bYxt(4aNm*q zv{3zJgqGz$@W)5syTK>PtHwY0Y2-EeyXk1GKgn+zYX8Wf{ovo={TUohxFs}xWueOW z?HL-jaWU>$d^$FH^qC{$m{H5%Rl)>MtX#tpCAxk=MjuH~5Rl?-VM3f=@oS zKF$F6GswT>@k@`h_-_-`D4s(+?KLKOBste{K4d$Sy>|E+Jm(MYGW(A!t~@<%QC(J95wPsUY0 zAHzMq8T7wq{3XGUC%>;Ny^{Pr1M=I!kBcC`2mFTQcZ(SXYFQ2!e}KFy|AX%$ zKg;Vseg@Z{xCveszp+#CoFjS7{E-Cjog-`bcJRw7Uo-#qfKQXhROl9a{==fb+;2$Qh@n1XmcJiA1(F6Xh2z=~x z?4QVM&OwskcPGCWqC<*3es;%IfBdwA--Wzp{^|kmo#Si#7h8b%;r>m-C&9l#UX#Du z!F$hx%oFFK*!_pezRZ6;;JxSCH2F7{F5L%E<$v%`(tb_6k69=_tVjoXlyd%Xv4!6Qpe;#WFKbrh-<3Rk^0X|RvPZHrMcKJKts$YID_@~Kh z=E2%Uc%Fj%aQ6Wc$Ial^kk5$nD0clf!c{kp=i!HxNlv=b!``@nl~sL4lli}8JE z+97sHvD>CBB@VJ^r#XTj^WZ0u*W`ov*?7MzdCj^o1^z9b%V_!` z3w|y6FH9D7YPR05az6bJE+ZVpe|hk&TvxBg?^0^wA^b{IA|J;fUQ2!-m#!3tdl-=Q zM1BhVz2r6XdKUb5$V;}9VvnOZuKLGe9=x|N(u~9SIe5N=@^^NnSCZclke>p-D|zvU z6ubT#;wsMNWC2P4XTc}P*W;h1*!keTG!MR({N@I)z}KRN-+%EXrRTFY3*|Qn@G0>3 zay}I8q}cTzgR6e|S@7QTRm0^a59Pt1LHW0P>yi3>EaRt`hrVxCB%-Z(UcF%{zGF;3 z7UzQvZ0!W+gEaW(%K2yaw&)S$yTJF7mn130?#H>f>i1&-e1ZIZE?tTLiH{e18rF1HUJEO+0pkA3=Wi zQ2m4PH~{{?%xfz9&&Bua$!o@Q8~C@#PYKn3V!;31;9n$PAIb;U2Ls^mBOmU+U_Nca zTG9Ldj)rdoe_`UD0cft;cA)v;4dJr8vo$aA6dCmOO4L(7B|4{w+4)|{X{1oyU|2MTEhcN$W^lt zk*;jQk3DFonR;mQQ0(H;_eeE-68t;NqvJd~_!-<+ZBot&BrWKIi~{GJ1M<4WK?nGk z$nR2RF4*-i#=-WeS~NuT=tDaXa$Z}?_U-M+Nk9>I{ZMx)_GRRc3+0av@Gam6$jenJ zcKL_ns$YI5_*$ORJSi|r%?~G8`hjuyAS$65*M9IFv#;s{|Mdv+>o5s4lNawuvHNdBTtyy`0}RGr3;3DjHS4lY@MFk_ zpDRo=g7JSTZvTTHNq%ed&lU8Sm2X-9UykQ_8ULC*+ycIv{57HSzY~z(3BH#4YvQL5 z{Hqc4ue+i&{=@r!*MR;l;P0aRokH!O5a2t(UqfD#Kl;FDBJg$Ja-2C4_!jUD@f z{STEtCX5nzE-k2k9{fA(2aW!5EXKWclt%v)_**GolSi}Qz4ILnp9kMU`IB6yRr3E1 zs8QDcS31r<Pi@qaz8`1ut0dh(JbrPz7#u%FL@-;8{{z$kWJGNqr-ga450 z=@~9viJuza<5yuGB(Jg`y!U=BmHpr!rhHBO=D}Y^UK79ZtMObu`RzjeH#XqE6!;?| z@LBNQeok|~mIuEr-uqsZ%6{+_|s^=jBY9R{4p6<{rMw~bGBykN4Rt) zp8J4aXTf{xzkNe_Iq@sAANo+J9!y24tQGPa5K7y^R|I*;c(tn4=Oau1* zr~Wfh5n&+ucY&Yqs5wtAKF3Qvg8Adtz&ug_f5l^lzml9?{uQX}KQ>GQ+`@w%s{yC4|&&ErH;avZ*5}&vQ`{`epINHbK z`57FCdl-<{MSceSYVr~#QtWX|{bj;p9>{@jC9j!B`@zqNz$dT>ijyDbYF|nJt&HNV z=h_ecWBPyFP(C;h=D@#1{(w+kddQy#`Umlv{!847d+d}yF;sqiKz;`N{p5!`j>LaC z@Hdf{-=&1c&!GKa|E+l5lzhFwD0W_Y$nU?z5AnPxdCh(<1O71bo4L{}$=@U(KL>ss zc}@KEga4R$@ZeDS2L|LPZo_?T^2PIjZ8x^$pE&_O1AZj+KOt29+yI{gKOutu`@#R4 z`fJX!5uw`;v*< z@!e#~*Nndm_+{ja_an|7Vd?)J0{Z8`A5UIpS1I=Rn~tmg`0EFMc)5JH75p!7KPf0b zaR=U$7D0Xn{7w<%=fIC5ubF@Q!M_t>{!ZM9@lSpd{bu)n(0>{5cSYcH;IAUjQyiye z@0cZiHiU*)ziooc%pd*W(@&WEabBqY%TdE0KZ(0=PnNuFFQwS+KNwg2d;3+UeuK2QFz zP=0oRPuz|3WbzY2`RxLH2K;m6J45-a1AGpA{7DnPPlWQ12KavPH<8z@9}_>pbE@Pu z@tXm^P{}7@O%D9-|6bZ)X*%76-KWuPNs^-(@?Sgtjwc zFz%k~wt-J6d9kA#{ABWDuuPItV?MrQJ`)X#@2?(#>aHzfN9-P~i=Q@eC9|d!dpo<} zYS9g@9ZB$Sk(X0+DR!QDd1q8YGa|no{GZ5c&c}PeuOly=B&DYL^D6g;z`RcROK_F) zWB1~F0KYW$uW_Lv=r1=^$S1+4$ZO{1cJO2aVdIqpq+Z^p&3uT;QOh^aCxz#_CDM%CoiXnQtWYD%rEq$ zsV{c4pdBwBHT&dF@LB5dfr;V@daytLj*5)OKJd*wCZ0cw8NKXw{0B7vnriNNuKOA8 z+dgmj4MOwE=VpO5h;ISE?$?IrQ-2loj|ccp@VVa@UYskX=FZP5k7q7d#Q%NZA0e+f zudTZu=QQLcO-b?m6Wk{>;Huw$E#Pk=zo|=C;ztJfPVi@uA8s7G_JiM({4e2MDK(e> zx3d2pG2I}1-2?c$h`%-d*W{xX@K=!6>=Qe|r^%0ZwXfvAZBWDS|32`u$nO@)Cjxxk zTC6jo*bly%{ESffQv>ol!LNV8`2W~Y{>T8|2fl{#HT$%>pW}WD<*WK1d^dTG|2x6o zLw-uA{S$-sgTIlyYWzQl`@Q5(4V8alKz*gAheUNe4Mz<)$uGyXck zzY>A(1OGUAjsNN%L;fOve5n79F^*$B>Ax26&yd%|Pv;={n(@;IzJu~LklzA7O0oNY6t4Q^*FBBrOxS-fhU)+8fc`DuPv`oz z&XrzCzGP^>{7&$DMp!@hfsaMt>wXFQ=|4GEkz)7X{MBh7VzHscRSa6mHan0;J;4r`%(YhLV5rBMH2P)b;Qtt5{A9sDM}D~L7?}t1;Mb79BsBguLJjwR`AYmy3`7~n4Zp^m z!glr#T@URYSP!MazeGRI4b?;L_!Pyv=UH9g3*>+1$-ncjmE-VEqlV~T0Ds(z`uiCT zz3>6~nW6eKkMC*B5c%mryk34WP3VF@^-Uj}1@{>a4?+}pR4Sosvi$Zyht5(yD^xpvZ9QjQ{ zd5HtR|C(OHd+feCG$ZOWe1K?Z8tK$C;SQn93#XtBh$nPF%zew=+UpM#-$*cMw z{QIw)_*KRK%Xm(P{BY+X$vD|1|v(YXb6`{L==06Y?7W zb%THFHPe5p_y_-_l9zQv(<|6tk$)1uOR?vl;{IwasucrS;-DSvY(YOvmqt+R?d*c9 zMciFS^nkA>ugN2^KjC{}v_tffVwcZ(R1zlCkormRAClMXZ`#5ChP);Yd%)jBezqu& zV%L8ruKN8Kdll~~BEN;eD0Y4nuKM{T_~jAwZwEh;Cv@2mdbRe>arx2=G1Nn>haO59RL(@Ug$(eY@o6hw`Za zp9KG61il^oN94a2DnApD-vi!ThqQ(A=LPuKYq(#-b;J)s`85GP3I0j)eP$O~A%8G` zu0uuU&vx)FZ<_em#7__SH^^@mDt{9rn07YdGxj>p2mWT{&*Q(>JpO`dDKP#{K@ETW zCc(c*eoK$%XK?&UhWGRB;Je5_6Usjo;CsMNDH#1V<0tk8)?(x}<0lFJee&}|^$(7p zcJQ11-RQ63d%({iuNgnFzv7INyk`6)!QV>$(NOz;jv8hC4}RQR#(vHC=>dQ5+lK#9 zl~KT+e>wj6S1#T7e-rDke;EFMq56Ls&_4^UOFQ^m$bU6d{>cIPJ>Y*qez#CQ z5#VEgga63S^Z2JFL7@y~{DXgi{BZY?vW{*Ce>3^BT%ncLFU58AX{cHZB}UqR;{SskooMHKY)8|dec&%6KP}Xsvf?Sa(cMqf{T=He@^eCY zj;H-iGtv(&;M>SQKUDsS65k1a!*|VioH%Rk15K>=<$BMzP~jjdrBaPSZb4KMpr9h#gt*wdA+O?^5jjFa}rs zahwPL4(-^-r7Q7!1o-$n_#OfIb3Fb}zq0s&{kXt1Bl@SnZ$|xBd;CKo{K^ua1%EX8 zQ$3!a!MsfQ$Cmg!_$A~gg!0=Nko83W_&-YWcMRpn2ly2D-6?-cC_gd4XTfhrUNa8! z;5Q{NtxKsfA73)B)#Hjke&X-qUJ?6WlZR8_|4x3m^NAb(;2$8rH}$sb-x$z84?ag; zGydZL#QhEOn)A^V_=CxRSZxfb`QYiwZk% zCxy!2As|2YZ=9b+;FI7ti@>*o|M+9$KaKu9;Pd1){)?^0dp{z`PlCTC0^bh4J%au{ z;O9kV;uiZl6-nAlD)>qAQ#<%K$iL~0zsDalKLyU8MuKqX+25NH zh+k1;9QUG~3qIA4!`hE=ZbDuYN6p|*C$EX)4)Aj#@V(%tk$2q&pV<513tTNOFWi2p z#U%3)`C>m@_~@|vp#|-9e5UV*PVhI9*VxeqKJ|Y_e$kFk9~rhCaUAu2JfOED1-|-! zhS%7U1^*2Bq8;ZB-;M&>nfHa!V*}%b3UTqdFD_(UHT)O{2%s0(rg^7$ED z=WS&K^SZ=uVUYeBzF`1)U<1AX(%^qbel+#6=Ve*Pm-4dc-v#~$@D2aN_n^rCI+SPsKV_N`{nOz0VE?J?2fqP%js6Aj0}=FZKuWxV@;42&U)Cr7 z{!4>Dk-X*{wF`U``AtIQj|j*wfZvF`D*mxl_$&Q4J5>HmpL|*0rNO^NUXI75*yF#r zPdfqCijI^x%AuX=2zK;?&r=W0d2Yg~a$X=`Cq|&y?T|<*s_(8(GvIF{KgFdh@e>1l z4txjs)gHh7{g!zkn1}np_mbbq>l$x#Ys~kV; zP!VAu`X{h>+-pN)|8_22DSpSIhChBX;Kz{H#7_=w~jMYj3)#B8+4xCjfyly z{J0kFTtGi);&46qGd4DUI8Bs5vHS5PT=o00v8KvtCx5g{SK<#3@U7rG$^X!cBeoNq zhqEStc-^%h{Kq4W{;eKg{S%8H8HZ<@W`ti4eoC$3HF>CU<0@wsdCfe~3VwU?`_nGF z|7FGR_y1b(+mYAg@%7;QH!=2W)`5*9tDL`(pBk$F*qhyk;HJ3jVO&)0je|iMI z8+gSvAWsC9THT#)1@co>}hbv#=up9jQIDXr~M_EtwfRAK9*4Ey7 zqNx94w^a83ApMiz-;EGI?cgKX58kuCsQ)%Y*FUy(l@sH7R@MLDJ^PFC|Ip2q{Wm!N z!B2}IzXyCB`J(;Dg~%V&f3dMxheVK{1V5)-{=a44juJT6;P@XTza9Mb5#;xPZ!4Go z-J#2mZG-(Nd0AITvF~RNz*T?#OoD%*T>h>@m){OPKFaLJHS&AF*OR~5)gJo)=BCR2 zzs{H;`8PJM%DE_l{3Q5G%H^LubouSz--sZ;2YjJi{>DR>AKMn^IirpL<(NoH&D(1% z{*%bSx#r2Z%>11Mzj#x_i$A5<8(-zTQ_k-+bUq2bpM3az!6Sn9gZJWRxa(i>SI;2*KMeJM@jRk1 zSP>bwwcA%Y*Kiy>9@-Aa@mkZ0@Xg>yZ)WmzXNn#Z?4Z{E#N1U*W`gt@cWS0jDtS#VI45I`6zJ|pM?8VTbMY|#8C?TTjVwKVHW&a@e9@1OTs0&=N<1}8#`>E4Id~jO zO3e*6ek88C-%mLWRf`J@X(xkr@?(r2itSuJ{C3u&o$77M+Bt9d?F^uu$=jB-bLQ~c zk$FG4Gsf$7rk$PfyA=EWtpQhyZZY3~1HTvfuefw2enx=r0Y9C*CSS&;R5`WefV{`;p`QJyb#) z!uNu28gKd`B`}JeKLJ-ub_id)OO?FuNeomQ*mEA z0^bbY8;6TR?OzbIAN+}wUmS;QCwPwPABS%IgP$9Lubqbb$>cTjOf&d# zdP#qc|C+(SL;E%Ps{{Nx@?Q=0-^l_0^@5LN|87;z|0rLRKbyh-o&54p{W*V0qCgmk z|2x2M&Hlf~-kU#Xc|1RZ`C~r=^19pqGpd}+BE(-acrSly{MP}# ziSjl1yBGXe^77P~lp6E#CHJ8=#})thtKA**C;M->`A^nC&EUJqUrxC-KW(@4pFEFq z)dp9_IySs?MC?3I8R>^kv@^hVp7+|}XRsd`2Tzz5gzp3YP5NObIlCXo^D#N$>l#aO zpn0C71^oGxFRN84cKK6r)!z@D;Lj$nc^;z={Ke!o_jBv^sB#vP*Q^6uz|SNvqfCn3 z{^0YCo#6K)zrDdL@S>sLe|_NNu|gzYqKv^5b2)62DD=ulq`sv!3Jcm{6Yj4|*P|1^kATKi7=@ z3i^|ugNiW2wIBRg?gKRQa3A<8@+*fbKU0!lw-@%K+naTmrvF;NuOu(0oKo!lw-2uR z`>zxHx#TtL$Ug8%@|tDu*e4SFh%p;xP$B>s@f)u;|iubd88(PsL zk9KCT9ZepK?}Pm)`Q2PCD(R6x4SzqTz<n( zm+4W8y&uFwW%h$#NnVpjv*6R@HF1~+@0~|z#!s~m|NB)r&r!Z6kEFn_Bd>|SEO_rcMWcTn{8f}+7wSKW5P$r} z_s4T#@p3XNSsPTjEpT$IyS_ z=TS!*ka9$R7W@?Qn(>ndAB)g`@q?{G`C2N?tR5vf#b(r}2Ltd?)2={2xEK z%2_~O@bAUgQ51_zTHv@<$eYhP)>K=D{x|ugSmh zqp*G@ukn8h{95uF|7XEpN?zmtJosbCYy2NS8sCc|ukn8h{A}_X|7XG9MqcCpJos;u z*Z4nvOqFvId5!;5;CCXg@qZTlSn?YG=fQ7FUgQ5bZeFb-zmuDND&-$JVe{vo6!>`& z_$>H25%@g#>Et!f6U2|j`5k#x|AT*( `;f5G>V*T~O)QgIvd4=+c$=l>t5t{vz@dL;3mu-vvHRUUNUV0R9N_yM)S@liD)-kH`IB@|rkK zgZK9F8vVP#*HZp1q5AV2v(uR2_CNTu$X`8F{+lJf;e;yZ5%QXGmDIw@1*w;Y557g1qJ&KMmeHN7L|K;AckgUjh80DE6OJ+6QU$PlJy~ z@Lw1B>L~Vu_wt|SK77N;rG1Dd{?g$88DSpn0{pZi0x4g!j!lE#mAqyh+Xa3GdCfYu0RAfSnssc$sd$cq zyej{LPmwpnt<@_+9{c&G<`$_xex6cY*izL7MSb06&xZYsO#0 zS4;Z<&G<`$ucCa-`0E1yBG}*7&ag-n);J z3SEEu9;0->pV@#d=UA@4^}qh7xF6m!8edE+CLwM zb3?Ts{2e<-upfMmyqr=>v5(*FaMeG48_q=jC9gS0OoKm*yk`B;1%A&6d;xql`Gv0a zmF%Avw0{x4Cr^HhP<~W^PlNw#vgyC#{MCWOc`3H||E6h1(pVSx!zh2EFevu^tH)J; z{}sURN?z6fi}4)9ka><@emz?BPlI1i`&H{-@UKST3*et5FVQW z7V=x0UUO)j^xv+y$t)!h z2kbvt@Uj0g;9n)L$)h>&50VdG2OMYwi*6_qfBoRQ%k{sq*`og(5XJCy`NTO@&hz9o z-_Os0f13QSMJbff_Nb{B-iCyV5JkKh+3kJ@H>+3EnS2e)CXX z?#KB3mjS;cc}*V7fgef!qEPvazgDA$+yCI_kiR~Z|87A4#8Tuz^0Pwu{Q`Uj{H^5c zt4#x;{XYg3z5WNkI$`=>b04c8{0-zMhw8s$K>x(DlKlEmUPgFX|AU`L`I`92f!~e% zQK9nL|Fex6ZvTUyNnR6wiLc>3?c_D{d zWz=6YkFEuOMHKtNA5UJB2OH1B`zgr}cOH>AZUtXY{<Mhs?70PiC4ge@{p^+L;%@ z4+G$*k=Mjw(<+=RkU!kBgP+0ufUMYy!_Zw%w}Br;UIwX@&^VNUVH|dY--f&%fe(?VxubGd!!F%Ia-XbE!?mzhkx8MH*;9sMB%{XYf0QZ&1Yvi|q ze}w!luJ)DmmyzbzzZ-lP`71*CO9T7>_cc27e>vYxdIv z;8&0jKi6d*=e9=Xk)}30mq1?Ae{JB;Ag}4aZt(Y#*Yw{2_$#8=|Me>8YVsQYw}C$^ zg8XjqUn4(U|I0iy06s;&+Z#WB+1D};71vYu4IW4m2g!?Yf12%R`k@{C-4XoI1O8{^ zHT@8~7=I5mg8U@->&R>Rp&k51{RS_agYA8T{|bYxaT`LGxK9h5)Zevmk>{RW|5Bv;Jx!TmHprk zi{Ss-OYnVJ@|yXe8GM4g#{V7Q$CB6hzZd-HJYUuLzxGm`kC0c{5B_!Xs`v;0XaxDa z;GZI|@qcZ5={~8(|IOg9rF@P5JHTh6*bjaMd5!;TzlrAzBFJwBe;j#@|2x3XB(L#* zFZfC1HU6)?3{y@N`@wHSUgQ4`@Ne=yqh|c|g8v73jsI&e$KQV;AD(|VM8?P80h?x~ z0XP4H?zL z=b#eL1A4(PAg}8GZ(;nCSM@*mgUPGDA<2)vU{ATdmlh^pa1N=zx z8vpl#uO_eYf9-ehzPX*u{TWUCHG_YjyvF|>;Gd5mzZd+U$!q*y+kx{8@*4j)gMXa7 z#{V7QZ;WC;_`At#{9k(|&ZWsqT9;zaKk@`h+4>)RYXtcn;E#?VzZd-e5#-lih4=SI zklzfxhP>wfUq>iISkhy527O1AI;!j;QS+Z-=*05Z!E6*`>zB1PslHI=}P=r z0lpW!_ncrMl&Ai$nr0;4YOgIlU#7Vq(hR;LJY@@0l9vmbmD`SAFs{_-FJ{of0I zFY^0_%I6F3S zU>s2M)k&84m&nHcXMa@m;vf8pd_HFXQ2+5oldLEH?*M;1`4yr364da=PcQgylh^pa z_IvoAas<8^{LbVx>xT~TVM%iya~T z*n)Q6U^|*T*a`k|@)Jb~6uTbvxLOqN-dFAe-$h=t4z0TZd64`8Ci^{E}VGelFa9!F&||KJ+KA$tNlB`;s57 z|0IsG;CCh;Wjq$pP9xjVjK_vG`2GWV&3H_M|8$z^2hDiw0{;^EqrCBWXT2p3I1Xl) z#$y5eU#Wj_Jmze?eLN;^!v1FZP~#~$9y8!akT1@!N7?iU&aXM}TkJkm`Tls8cXqZiKn&TUn8%Hr}f|;CSQ!FkH!xJKEWt?P%hu2mJec z>f7;W735BTTE4|hK$cEo>(`?2JU{#a&{Z}&$U?VP+%nLmyVZ71N59NKBx*R-QK z-|YuKnf!Fqt4__w+gkdU`9hYhT-PRU!~Uen$S?Zi|7^V7AFXKTVYX9@kJm!m3HYNM z?X20aEIyvHwd0Qu>E8kHpOY`zle6)5dy+rG_k#8>>))$G+X>jyfp%6OVA?76&vIKk z{{E48?*+eXrr}ll|1PXo$!~%7q=*!^#3W1xzi%)2J>O>VqayGf;NPJAn)AnA@UN2B z%pFwHT$Jr@U7%WyV5Jk-`FQ##zXBL zc+VmE3q$$hc#tWpXo$pN3))%9cIL)RLv}wfj%TAHS`oez{1pe8I8GS6f**H6jiPu* z?C1mEO8%Fje9?}F1~(*n#P6(fK4d$ZbwLXJI`W$Flm(xSz~{j)As_yIN9M;4;|16L zyAaP&><52K1U?IXRRlf{elB^9|KmT#dn?Fm{FefM0r|P1aVX!YF2%9z@L@mb@HGNwMdFU2)aV zXTje^UUPnx2Y)H~;hw*^@&6M%Urm0v`BeB6_?hHq;&&-_``LfIE#db6AYOAnEf0PQ z3 z_Y>pyR5_n;{HgLk_}`J&tS7SI{}O@EgZ~G4P5j31#orGjuUU_!z~4t+v!2O2#ouotulasi3jDkX^0VNlDdo#LC=Y%*dAYeD#h!nP>mc6?(8P}o z_u;-E+tG}JH26v6hr16K`CZ_*Ca;O(0{FkrGV`D&4jX<}<@}nwW?zv8e;0X`{oub( zUi03E0{HvLPnIA+vB$xVxayw=8t%t)S>)>lMzQlUQ~UWe_*LXLcj-!eZGi6re<*p0 zYbkd5%me$N64a3RDS$tcyyknZ4G-Y`<>WQ%kTm$u4>a+o;k&@U8i6l>e=q{yuolnt zN8r=omyo|sIu9kZ|GtGv?7uGXPm|a5Ujh8}MjwX-hz_&*5LqGUA1jsG*?mqn1D1AkZqz8`!;1pO0_;`v;jb1!kTN2NTt*dz|t zbMqhg`Uv{xz<);hs{RMxM_$u^iO10YQS1l*Vg&tj;O~yW_k(YbVt+Tz)1uf9esu)> zbKp;o!1sf1jAH*U@coh~_Jf}uLH`{1krDWQ@CDxQQpNw{RnGn7HRCS>z9Ryk1Aj&Y z{rkZ;Mv$L)qRJT^fzN<{hxa`-{?CDbki5qK{ot>Oz$c!>`zj*np8>yD1o=7eTaee> z-|Pqf8t;E=_{39H&X37!&J#1>S4H4+;17ww_k$lpUK4+br;$JS9K(^J^FR0DvVr3M zAp`y+@|ts$9QYT>KR;CYgPzat2Y)i{pBT#58^u{q)-Q=)RyhZdpUHo>?*nQ7p!56; z_?hI3_fyzT@cXUPaHY6?bng%6!0%3eMyUL$0lpvnB=V~M@4@{f`oASqKJ7ousNt^v zz}HZ|<{T~u{(Z`q_N0XRUmV5w>j(dC1U~UAyl;zqasTXUf&ay18$I~>2;NBLb=Q9I zU!nbSRf=7IZoEx3)BoTvCI3zSyPaQ+8vgj{2mc&-jsFtQVE;&X|#wjGjPK`{%edGuKnOMQjo{e`9df@4vO+6Xf@C=}LU? z?+~pAKZ*P~9{)kX{1nI|jK2j&4HSI2J~MK-dhJ~ zp6hRX9rsb$f11DJ*9!h)j{hm4`cDk#zZSgrJ=x7ddFdg4|E&jqALS2s{K`Dm_y*Pi zqrk<|-;4dd1{yiz$ziUbV zcJQks=-&f=5qZsg8Y|#jp1eG?E~RGaYvzZ5|4+id`{O4G{&ey(uBFuMZsTR;@8{dW zpAkX-9`N4x)@O=v6#Mwy7gzoAV}CF4n(>??b~zeIkx>q+Ua z*ju;T_PUK0ns;Jtm7W*)132k-Bo z{Mn*Bie3Mixa!xx8N7GCai72_cAk0g4pc%jZvTV#*0pZf4Tb-##P@>t_I1bLpQYI4 zOQ!ehU;B?L=LF?AmT}Y!ej<78x=8%ciFOWQJHs8%!uNq6M_!^-iro*Ban1AHHNFMd@0{~o?4NBvd(4}MG( z`@s*e|1|RZz^@};T+eO$2h#(#{*xPZ9DjB1m*Q7554C{*6Xnb4g%tbvmk2NGfACM2 z>wkWq+fFckIDQ7{-v|B;@*4f?J}9lHH0zia@N1*k5B?VNs{RM>-6tsa{|Ubzvj6Hn z#Cx0g;DGWpN?Wb_!;Dj_MiLG(Cz3mERKP})7jG%uf_)W=c_H%vU-{tvO zF@In8yUO+t%HMS#;XWPZYw~9c_?1!Y2cINgT*q%>(_dy7fBxtLKaIR*A5r&jypNQ; zCV#bn|BU|EjNeZ1&yg?2@1`$S?!UqL5Byu?HSt@wzI31Uc_Y=Sx#zc)R`@=t{CiMN2CL4J+rKYm*0uWL&F z>jd9HUS&V{Z<5#S1M5D<{SES(^Zgd^_2j#%jo~$4{KouXTYs!UMXoQo|IZz(_ zei7uy2e6JJAD)Nj2K<)-Kb!nyaXyOO{}SPT|7QouuNN4_&dW;K&*#C9ru@xax)NU- z;N$Bq?_J z%mahIciT{1?R<;;R-w=9ZDtjJ+s`9@J5#jgLZxa#*`0lc>k)yQv% zRXd|8U#15scKN~Q?b6`Ab*x5y7x>TEfAy~PO7es2fCBhe$!q5Eh7GHoC&}kRQy?#^Tq*YW=Rt(2X7V5SkIAdzAN%Tw=Px9sl5; ziQvD6O{$CUG1ugeH2B*h_^%86!{mqSKUs$tz61VCNJq(ian3WO2?l^a^Su9!E5qhKlqC&Uvn;=7**{YNnW#`%zz(9 zUT!x?sk!_i^MfspbEpV6i2rloubFM$BduA-_YdNqH&QG3pX(S|FjIbFH1t2%$lpDb zmmRym|1#i5k=Kl)9QZG2zufMUVvir{e;6uJ|9wx_y_-E@~ZgXtlC*cUKRh~ljNWD;{T6p-F^(-S784Qx-XXl-*bqGKaKwV;5*4{ z&eIc{!+!FI8?7tE-@zvESWm`p27EjD;l`ij@f`TG$luC#YuC-el_{<_@n<8mHgK;Nd7&Z|3A3b{1nKG z1DgkdE0+rj^Y{0{|23FU7< zCGtJsYv-7Gv0h*lJ0CnBi;b;z`YC_7>q^OEN$~$9ug!uJPc!&cO)N)*W{00@NZN8aPzptPwn_>=PmLwJxQ_mKNGL1 z=B@*q!M{RYvkvG0e+PLA%BJ$;m@|yfzTVL%QMqabOZU#S&{G3q#vH#?THv6vw`~>ov@z)F9A+H&K zwL4(`Ag}R%Gx(+CXAaeVnJ7K`2l1Nt=>>l}_d9Nf6n<+@|l#-{4r=9Ub`diGn1cU@Cv*{NZI%Y@6G=j{X4)vO!=Dr>ji%qdDZxD zD6N0C2(^Dy(0=fTMv&hDejoCh{Lu@37WvIX^$$MpS342s!{jyoZwCJ+_pysYAzm^-y$!|0x5R;IseQ=CFbASovNMd$m1(?ZVBb_?gfu;20x4W>nMX)kk5q+>q)-q z0Dla5&G_vdB!8z+`Le?C_h0Sg()wF-F53)#mk9cIfRB?OZvV?UL@)UFIDXng?Ju6o z%2ui92)5vyY)Jn1ErQp7#0DcU4&APH7 zf#w2p`MjLINwMd#$++r|zkcxdDf?gYXktdSa}oKoL^z6Feld^w?t9CqXhl1>vK`Gh zS_}S%N;^dUdhpB0*L(f=+v~)fFL}Q{<8Vx=9~*bCc8=zJs97hs{y+A<1wN|k_blJ~%D)Wx-SFRMRBulc@=p`;8R)|va08HeWqVRZ`Qu&Se-Y)M zi2QEkw~g|TLVl<7Rp!4>MQ_gpZfs%Wl?P z`;1PkJ2{LGbD`P&TF9?CA-`<~`afmi)2HA0%j8G8dHN428uIV+wceg@gMT;ur;765 z(FOS}qWtY$kl!}SKLPpO$gj`Y3HrMH&b`sL{HiFww(jjle-=^x$6eN+&G0tLzZChq z;+GCMr?=;Rl;h_7&{WF*2=ezA>1DA4X8(K{<-Z2`Ps^HrD5Wsx-%0tKkl)q%|JdH1 ztC4?rR{E!;(4R{AHTujQf707Qi}ioXKN0lZ_yId9{}++p&3fg4uhTji@;hB$VLhBm z`QL{f>xv$(pmMb5EZnr?vy{KM3+;I9xCH&7+=%pX(vJ0%|3k>ZO*^ij{J%qfmMeeK z)5mx)h7!S^KTG-lfc$R8qhrU@b4tkXW<0N_{NF=R(Cv z(*^$PDgPN=;C}_>{|L_uyQ)9s--Y~aW%!d`e~zPAvmHHl0zD^#{NGo(Gv!~ElE0qv z_e1^9$(p|+CI1S_-xvAM%$lE1TA2BNmh!(1{@vKYW2+MR!&&LiPN82<`GQDK#=ZxI=Bgc9Z{JS~FQcwB&fPXjkX9eYd8twPB ztn$MFBBWz`^(^Jr^#8=H`B_3{`5ilv_Dewj3t96IH09UkU%eL8dU|yX>@|>zUQSDA zyc&E0eSbSg&NpiPD)n5cxj%8fdioZHCErY}*QMsWP!{MYt<`6LQC|;deIKx2vEYLM zlk-4*~~2C9w5rfloXm@c8Ehe)t!G z1L)lyobRz$1UAz<3>bd|^lL$X73jbGq{M$7^v?$U5a{0y`hVOl=|+J5wV?m}vnU_* ze@pL9VS4jG|1{9weyFz!rzrJ#|82q7JnB*5um4h@7O%nkX?o7(JqxIXFM0TI72W~Z z3^)UD5?}@3aKJ%;{Q%$JAm!`_d>(KI;3mLzfGYvlBfrLv2KT24pM`wG0k=FPbcaG; z_Cb#h0eTQV5OC#1hpGCm0^C1caE)#?~f7HT}UW<593)c!j#9y^=Pj4-$f`8Y-&B2~GweTc9-_^pk2@Oj7w-(Ok!|>@9 z)Z}C?=m;%*s39@^{G1j(&K!P>7T#$N|B@E2OUxX<68g~jmbAxaz}ErKKtH%0P|LkL zjUH+7Bia&e#9>;s*FZls+%rS!ui>+j@GVLB(2LFKJCpEzN%**#=JaclaL*;?_*qH# zmLz=WrRMaVN%+1beB5Q`^lN}?^3&=)^m0k3$xnk?{5ZtF54mgMoe0n?Z#km9Uy*Yw!yF}on*9+`T$F4YC zpIU*B(E<$P9Sa5Sx<=r#U&*}rp-nPRxPO%33+T)-rym%Ubn7Px+=%X-6(M9bpm%C6na%( z7QEj!fqlXPD-gcodMW3wYKnHUQRiNV!M;Mc}$u1TK9_ zAfM%9dV}T)oP>3l`=KZIyeQ!ne-*fRm%ydakC%gjm%JqOXM(TIM@aa=O9YO1RN`NM zR`6X{3VtNgKlHZnJ@7h#3&7vp<0aj!$0gt6(7*ehmUMgQxE%ApYnH&hfIHA$!)Hpq z`|c6AWro085&zCbf=@#~+Qxdy0_g^#oR6N9^#5rR_!jVk=ojOl#}Cj39+!LY8i5rTN_l&)6ZrN&B>bze1N-(% z_+;p16YR+TW=U60%lus4%->16hT8;IqP_QiQ{rc=7r6U-6942pfu-LOI3^-+3EJ`C zxsv{1k-*pIiQKNbQPS&Lt?oXZ-c>GCH?&KAMKYxXk^F{F0HdDeMLj8Ro3Vz^J zN%zYN$^Y%yf`5Cl;D32q@IU@R;MI>w_;YUx{$aDgNBc^6b5!ud(eB5iy>CK0|EERb zXWt_9U%gfEbLasQmebFc3Y-J^Pl24@g#K*?y#VC;)OUpL6?aO$7d|89_1!LT?*|fI zHB0cNK7rHF59(nzW<4V5_C6!=(=Qh|q(#cV^zVZ21RrCT3jP54!_c2e{)%5q_|35Y zZ!ePYO7PbK`>-GOd1F6Gf5s(}?(XpdX8`tvTy{dAJD~>+kZ;9Pl72Ddd=UNWb;!FG z{c0xq)jjA}9drarA9R2$#ar?+OC4A=flCBi?e)-P@p9cSGA?)P| zD<%9T$omD@@3Y}|#9+Ut!+!6>c(wuUdpd19viuifymjZ#X0{hJL*k_l!+a~Ax+jX#re zX8`wHEcE-sPdo#7xIxnO4+-1|y*cZ2Nq;liy#)L$!uY!Ke}tcAwDUXg!=FZfe*P?p zUkm)&X@XzdDRkCgoO?EkcDPyK-N4I%KM(!xfZwnX`Z@{t-k(Xi3p)fZL;A>Vf^UZ( zeE{t>?g^p4`V@hOFpgddyL7tdzW{H1N%-2oOW;n76aCRYRs;X&1&QCF`F%sB{QZ3; z{4wC~{S$m4d;`YSHSqUd3QPL;VDBCP{y6N=?%fjKh<>;iawrA<(!Ztr*RB%yB*ypU z=LkO$z#*`Yq*{6T9DAbhS%16G4Fg{X_|6^)-}EI(*QZtB@T&w~ajV4d-Yl>$#-o>E zzm8iW=?-f7(cTq+>)~$S2Mq5kBotg4ZLyFQ5l;&e&k$S1$1OJiwe@yRGVmt5T2z+^zz~Ku7F0TMiXAM~n zFMUJc9^gyR59eb4Jsgqv9rFdg09c89mty|6@hOq(N9gYZuwOs$4#^h-{RZsc??w1y z@b{1WrR3iWzoP01v^QYG;}ZXJo4}QEfmMLfErKsxAh2SDz!BdN_yWS~kCAdK0Y`xD zljjMa_Y9Qyqy2){1Ktk!Jm6ro_mhAN(B5aDo%aHs5R`H*2V4U<7VWng?KK1PITHQ$ zohv0@9PvjYejDVj^$!g;d{+35eobK0R|UTOg4F+Uz@|wOerc(|ae(VE55E@htRX^w z^D4=|7Vu=u^OiSC{*SO;69>MA9^_%YS_C-lTFHMp#`WRAF9%);_%ZyBnq@+F=hr0P z>(GZmUlzO)<5KhWlCF7%z-?oM?*0)1_h3C_(0a)?{ThLD0hhle=_dVH;1$3-fj0s^ z_J5LZ1>oAR3cVx0FX3|db&udDpDp-uz~1ni`@(OY z3V1*A?L8>@W`KU0oEVZ9wp@;eXGPTf<0;j{Nxr1 z?|_}S19o8h=Op|Tj0>0iQ_8vG0fFx>6#5q}7W|9wU!Q^BFa+uQA^Zc_%Yi8W$~ls6 z+f0FDVdusS5_~)C-!j08OC)?c;;%*ekFg#y9R2e74Z`;z*u&wcNxsKnFZ(|%@%_-h zuSNLVfE{&GuLZYDx+>)FKzX}oOLz_J=<1Cq5B}STddXk;7lFGFzYF$wGUWU?(oaJA zGgeADcdd|odr|(WSoga535lNsyFCq-QEX(@%5mDp9R18Y0%k+^`_yl?~5;&^4|ZJ&>IXroCtg^;=@S)&=5(t@hvI; z{rd!-4!f}*;fs*2;U^M51orh<;P?Dq=&rd-%6tD2!EfJ(@-Grt|FXa{Hc9+G*#FJ2 z|C^EiX{7I5CFwTafqdUbIXfkM0rc!K=+VCCBz_z8W-QwI0OFs7o_Wyji_q@-kiPM| zQf?F4y${-b^J7x(eeX#9AJ^&+d0h*69eJ{(TZD0FKjd@tF3DGf^s5kl#V>{4vXzqW zL(FeCp&kRlR|ouz5$I0?fp5fkI91bkq>1bDx_~l_=i}}+bj>)cfS02%NM>;M3Sw+I_g-gD}q4V*Tc> zS0#MU8v<8gygqm@(!V6I1oQT@vF?_(?d| z`yJqYfUiTk?;S1WUvQMb5YGSh2R;>eEz(WEJnG-TAH+FfepdqflPiFKg!$K)FG%?9 z$oCS?HD3<=SHOEC-TB8!`qjWci*v^p0zZiJ$o-Hm@I^`gAn*#DPrd^9@xV_&x_N^n z{S&~0ILEvY_$1&(NOvdZe}4jg59V990>1(Hbfi1^cqzYbu)u#~zSRr(OTc#nzZ~<( zZzJCY&q({81H2SC-k&cOV0F~+UKfzJc}?g%M= zMybHFO9ZZjef@i};5TUaNWpI&Be1PP;KWyipP|4<0Y4Gx_?aoL$D?BfzVoW2Zvy@* z@F3D{z&vj!;8p*We7Am9VEkIizw2JiGLk%;5iaM0{-cK*o6(p zOZXo6m7A6boj&k4$Mq8YQt(p_*dKgs*$RHH5xD$1f$zhf4}~AS8TPyq{@W11Ccrpg zJzx>w>Pw{_mA{s9&sr+@=W7K%JRUGAu;xyIe>+Fu@fi1iwn6IgL`cH#?v(O=^%)8O z;c9{J|3~8gi2dN$MhRcpEbtpQ3;YNC7tc_^oA(L)5&Xqx;1?EMBH@dFD&>A2_VZse zC44&CcQxvFChXff_!|vR2%l%nlJsq31^@F20*3)k-X{1cl=~>wdw+L@gkOgF=^xQP z*Ugaf?);I!hpai?cR1!dr9YE&kHa4ralNGbIr`1b=uiKG zoWJCec<%+0?;Ds8{v7=?j&^)-zr^pIA@KfIfzJXK)k`^-WB&XS_8a&BJlmUn@DJYp zK;&@KHc7u9^RTj)1;6)q0zZL2xEg-+pWu&v3*j@Me@|k*6zwnhR&5vfn@5DsooK)Q zuS@tY$bA9m9Q$42?>nGh_D#um^j#7@@iobJjHdV16254az%hVVpq$Gg|A(-@GUP(Z zzvJIh?%C*HbJ4$+!)`r*esDiT2FMS;K{HEYV z=tpP&Q1Ag01wMd&Tnat>2zqpPia`Yn)EpK(db+^AX9z69JY_7xYv4D}1Z)J101mib==^J@ zz`tOetR5?PBj60cp@2L8N8+a;-+&^)Pe6DK`d@?n)U$sj^()3Y&Kc0>T^MJJKbHJ2 zV4R%_d>r7h7?%g4f6W3cIbZTUfOVpESBo6(suOyX+613g@7@@F@RTKU1aH>gifSh;P7_I_t*--2i`7l_Ll|z;E>Q=d$Qn9BmC}L zB>b=)0*3$|4fs%pgg-uC;AFrOgqN<9@QLV`wF?CwHyP<~6gUFmHL#o0N+i5L;Es0% zzv421W5L%41EgNZ!0*_4gz&!%cKCky9oqqa0a&?R$~ggW%mKkSUoPc6xlG{gTP1wh zTLS<0cLJ~4DRA|V1rE4L;IXi4ZLdlG6X7SUg*EQr28KHmJNXG08d7HeuQYI0e{#cX-02X?mv_W6vPL=Hy+?!8>_J z%a2gr_J<_A1ODy20fIm9p}_KI1dc;_HzWPx6%zi#8>QZr3#DBz4@>xT_;*|82tKw} z;FA{!ytPH(dg$wGUle>moxtN}2>duCuoLAhM)?adPudNCW*^F1g8ZwXpRZ#)U$jWd zIe_y1ev#lSpns2mugl?ozduIee}wSfg9PvMRe{SprQTDo6F3g|{__N14!G?a!S`wB zr{Isrrb&3XPGBSE5gwGY3Gi&pcVB~_wg=@MME+Ah7P*H3Km3p2wJ2{K%I^bwBlx`< z{6#;M^!)*MAbt+wAqH2|o5_fsvy{ev<*; zM)0~I?iGyJAA-)yRTBQ}osw?I41ue#u6GdQ{1q7gx4t9s z>;5WmLAB)Hv_|mea|N%NByimiB)sMlfxEHZ*B9ygAUuNk_H?Z46-|}=8-6JHhD;W` z?-YS|-!0+SUM}#suS%L+M0cUxJJ9a6X!keTq+MSBjpQr&t-u9X zuRd~{#IO4`+V58a7u_vzaRd0dK;ZMxvjd2)pCI84RRRxI3VaOV+kPnJ)T|Ns9_;bb ze@gvMI3VF0w+MV2^dr#gBH+vaSK?3TE#+6eBzWa(0_$H8IQFjsU%N}->MI4lbA!OG zQzZYUegbdBd~C~BiNE#-0v}i_aBhvHTlY7C^#=rc-V%8Ky8@g20+&t|cMkk zi+uuzpgmsutl;-U{_(|9-{a7aC!QklJN_x*&F~**LZ2$Sm(R$O$ncd z@{Twt_&Tf;+>Uv}WX#`+-;nt4Vx6)25utP4Nm6cq_?dM(B;5$KM+9&^;M;(uXrEUA zSD>A$&_3?~mZLp703QQvg8k`>b?3*P6S^Ic!{28KKI^jrH=_QJt`vM6>V5Tz!hdT} z>Qi)?#QzBM$8&!p_VzW)<}U&nZH=PxAxcVPD(87=ta1CnkZ%5T3_%HQ&`gunZ& z;1^ya@LRV?_%EjlKH<*-t9wa#jVSM!?@0KLC6a#XuLVv-`(1KK@aM`U-(5bzzX3hi zK3noHyi?$M*qPrzAC5u&=j@k!&!b%rVZUqhD#NO(e(6I z;io_5kDqT5{7&rmU54^kJ|N-OK~Hxh*3+=ET`cij=U+ro$#)6lP!9k9G_>zWH%mER86x>!gdE$^&zBt`@zqZW zEFCN9#@!(JHuQ(O-wOUT>b>?GLiYvWub}_^80-G8f?hfL&9&$s54N)Ef37?L2 z;8URgfB2<@M~;wm8?J=>elPjI4Eq)To22_G#?PfuiT_d<^!p2J#lD6g{?PZZj{6$M z`<3OA?nKzp&!b&0fSo%EcJA|N=e^MDM_vd00RoGn0_S6WY0DhJ_hbD3=?hYiwwDA> zK!3RY{{)Y|C~)sd0(&9-+gPWZiE{o9zB(`;KW2xdzXbE`A3iDg?%xUg&rX47>=Jm< z9|W%4E%1$}1WtHH;P;*txNxPwTkjIs1b@2${`OztZ=e2#$nWM#Np}|DGth&7K~LK6 zm2}_vp~z)5_BlS;CiqRz!$;qhbgQwyFbDICjpL>K>mk>RLxTV1ae)_N{eLy+pAA^| zV<~?d@;~&v;Iol`TR*{1_>92Q|1I<{IYsbV@NwX23GW1*Zy?|F^^)#&O+V01-@Zh` zgXkB(yh8YVXNHvX(q4h5H%Yp`!LK{>KEZ$Yu%v&vR?@xxiiFSqD~O)qh4_Q;i%Rd5a`tYObaNL8ekSr)ZA9~Jn`Cj@>B`iB4;r%8CzF_NFAYU=aG zt%ARb{`NDBYpa@%)awUc}kXeUg6%%DWZiJ%aS_A^lp!&qVxrjZ)4w&}+Lu@Ks|3{s!a6 zPvECt{Y#B6i*exU zZ%X(n3kCLhRPv)4bnxZRN%-ag0$&E4f_;e%9|)gs-YDh#0D3zedK)?<;YR^Zgg(58 zarM?UyD#^W^aDpr_^5wN`G5S6z>mHs@hhN5GkOdD$n^p@!B035e(t^S6Tb4M z#Qzk2!V~ujKBPnFEJS~O{2`%p2=&|zxa|x{7X@4ic-84r&e3NHyuDQ5&M^W@vF_

#Zbhj#z$!MQm;i}h3fk#`gi#YJ+d{SsVf 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 h)JB8&ht-M5p}1!{mWJ=@ zrhg6-+z#vc`D!;@bmAg+BE=#garn|a7o={{q_)-8ll&PRsJ3Rc??W7L)b9nXB9XYV z4yX+LyTxoY!SU~ACT~QXY#DDZ`2x2$BBCBX-kec}&oo6uxgK?YZRIllBCM>~nPNI( z;)t@1C5|YH^E4t&MWpw6m`+3X*YO_*Y`|TsBOtZ`clVx}@CgTNiSk$Myejn#c>F8m zseqP`NWH(<9jd704SH2{V{JVmg*v$h;0Q-vIL5C?T^5C}9yK6CmT5C)su+#>o8R^= zV$^&tc(>0Q<}dB^w-0nV}GpgA(5-G1(B;}{Ry<0>pW%k=@;8M}!D2ZCe*F=v1DCt`sp>GR}^`T_nuA$tz?g>5QX?trD3bk1K6O_7vwo&A>ahGumQ;7Ia3qm!PTK5!?yc zaH>7{4}?L|Npk5J$dYG%55x36QHBO6b5!cdp>&?0cCj3Hx0TZqPQJ+kuVw z-YE!32# zH)2tdn91_2!5Q!c1G=bT_G&`Dg%>l@hu07l(zDcj$=eAlyV*{~t@aIxX5VNG;`>;P zTkaEHL-KEgmir`f#C;NN;636@<4eM^Nz546tAR+a_AB~@NWv#fz#j1Fd3jn@x+CFlp< z42j^_rUj)*@wnv5KH2dE{uJz%`>w`cS;|;vgp##xMZz-fq2X@Z1$acj6zrv0_AN5` zJg`)!)!u)BPiz5i|9o+F7p-$!?>OJ{xGCbttxI8fCNjq3*=)ZBSGr9MC6~lT7FQFv0 p0(|= zOXWYItXee|vpMh15Cm;Ax6xkQ%~wdw79hrk0Z#v}Tb0}_S5sA@R%BvMq z{OU#o`b>LiWWO{W;DTw{Hsz)92HiN79H#Myukyx`XpM_zjuVHj$-znJ%)9yT7T^NHRM`fUF*?GPC;)ef!Fl@yhbMM zC`S2d2WmUe;T`v8?UDP|@!Fob?pW4#=LWYni8&?awZY+oI(%w~2VFC-Lmi4uLH+>o z;XmHd(j4_*(c0(zRq@vv9*4^A7UJ>M2kW#2FE-frlpEX@gwD3`Md8kU<2%tvrE5)A zAw>T8cANYO{x{RN`4jvlUhyaROC0bg_)B!Y(KoMmvx5f1XeLzNbg#WA z+x~#t-N8Y=^_?bkHd|CW2o2C6H3CEK#rtWcS}nxmyeal+IFGP72_^}dL+od>cE*s8 zX(dEF5X&maLZiVQjM9RDH}PbZ=-tyuy+eU<#o%YB)TyLhpyvgUjN`X89cIFL%I;mX z8AozF+7^e+cDn>hK{B%{sL_l1H|M|ISrN<^5j&9|TKFwlm$v#%^CTc|qJdfZ-0D^n zWqwRFph+f4W_2e!Fxr!Ar6;ue1Yyftw%fXmL#CqEZDfAm8%4`DZjTwQ$tRcEZ5T|C zhG^_Fg=HZAEthH%Qp$K>}_tj*G!I9TP`@%evoPT5;scg8K1JT-Bq1ul3K57 z%#1&5@_m*WKYo+je!KIx-=E`U4)qr?U()rhu)RmKSxSC*q^`g3&+%32`q;bOu8R%! z9_DluuYzmRLwp#JD^X&+T;EuUe&kw->_zy(DLbc0g}&ifiugrvcR5j1`Q7(^MLU-HqpxVk zsyBZ{JGSouw__q2HW6NHoDKt-U#(86H=2xY54w3ebIslZvCe)%!Mb?Y_30+P^?k6| zB#G(hPhiJ&jD#KLO1jr1i+pkwm)>Z$v==rm$Qv#|c+jeah+q*si$CWW$A-lZxqTAT z)4QCFB+R~v1Q5%RING_T0*@y8L@r**QAGuYp+xJ{E~+zXRL{&_`LM61?Fm}k8fuMq zBJPY9f$E2-MY}UCVniWmJ7Fg3|01`ZCBu?;}OM zzUWc6yV6`6QLi8Kr?-rHZFsrg`ZIOZ1I6BkRjQ4hxcJAu9<>)$;og``9f+!+jZu5R z;c8=)S&huc+_u`#L9oY+h`qpMlSx|70RjOB=8^++qIZBc`14#(9uviYBL4(9j|mBn z9H5PaoEwD6vQBtI+`8rEWjEeP=1&gWo1p0Me{xB+L~h0#W*TY@QAzwwfQl{Me46##ZNuSLJ8|f4bVHlu^+JqJSHfq< z_>7#m)g6qa{sYC9^bWX*O~h7=6+BKLbB;cx5Wn|y?jv!+lt21W0~31oeN&5YKA*+? z@^EO#Lk(^hrSi{!hHRk#68q3YEQW?hnjN;k(QAVsYZ44;n>N1?o&;l<2D(}`+8FdO z#vtAw&TG&by7$F2v|XO-9tezoVlc^q12wD)Bj6(=cH4=79$naF6Y(XEIk>?eWZNSJ;2dKF2z>{X-P)8Kv zQjm8+%f7=FuHs77^8l)(ApZe(%-zUJAwHdpeu?!XG_pf}iDFhJSja3weS_7Z8=#<; ziN8r`tI9bqCbudkmQWw`)u8CTN0bwvbSJAjef&Gb5eu3`XA$)6zm(W5{?W1{UBfT8 z)sg;X@-}mHujkOr`=K_puZLqwWS{3t}-~1 zu{_OE;>w*hQ!n)|j=3`S8DAedW`us+6cHj28?@|Mf07$G>>o@n7e`gwzP}bJb~9465LH5bXNAYk2Wt(1 z$$j3PDT9AN9i8Sl)Kx}b4%ZF+oE2*kd*=pIT77!pB_~)zv(o-WeIima;M_Phqi_A$T}3hCJddI}ga;2HhX_UePi8n_Kazi$ z1h?pdLz7)Oozd19myYsK^kYyDgWylt; z8zEek@M6lfv#O8H#IAquf8E5Mw(rZB*zte=UpKKIANVpRcJIOebrXBgr4lYTgmtV*5*8%(!Gx1dQfC_3pTfIW zxK|KN4NsF`Gh{YIB*;;wp8KPjL-wB)F~@6ESv3NkvhPM}$VPvav`rM?P(hqj@W;bO z$wO)A=n2oyzX~dBuM%!}u`vpj{mbpPSSR1X(ATdS#C;*2bs_s#xX&A_pC5C+^E<73bE^ys>&5&WIx@%!ydAhGB?_fmCka9ov&D!-D z!fn5*CRrzCtE8rQu9(j81j)ptG7J6p2B2o*b;2)e<-;W^^pOD|kNw1}N7zGE73hQlG?Uh}bkUWz=q^|;;tk0@XxZnp{_XZc z%y@0Z^Y<<{lTmoS*cStzGD)(xJNzgX>Q~Etn^inku65G-ZN8IbHra)7C{6=`05MoY zIuuv@=Z(#mDOF329goeIifI=)_(Spg#^D=#RBx=ErSjm;*oYYa`ms?GCh9bVK?(9O zk?wv##QoH5YQ)PbwLu=d3jyI9$2cG5F!g{%nMlEEH5q5oscKxARP*Aha(eVl4%hh(SD-g zx$O)pw+3{B%+7DiTG)4)8inbyL8ZXf&(ao@`*~bQJBFIRXD51t_B(G%W4un~gb37D z`i}+Db_}fahD6Ow@-^J%vtKRE_Hu>(4ATuy+lmjk7c}PuQ&S4hi{B0>&yyOHxOik4 z_hX_H`+Sfy>c&ZKWum_@+3ktUxAdfNt=Oh>?e1&h*Xf`^@ZQR%A-_DfB*BZn|Jpf6q>LmiL&fs+E2Cw)0JT zn{9utiT(wfxW!0Iat=4rW8K9@8|A z(2I6X?f=v^yi2>MJDs8^{{u&B7-APsUTTT403zuZ7{~WIip*=<%Pi)lWgt*$c=nu# zZ{c)pCgQ2HB(Zde*`uoM&)RBpuEfLsv&sc^2V=|KK0%CxgC*?KbrRe+2a8S~+BbrO z1npUJH?@;liw66-290Q7rX-THn9CNjNJaMgRRovj8NUpeI7uebeV6M+6yODz zE=}k~2}aK4FFJn-E6l@#T*&)`rvo9ZCSuD9**9TMkcT!(H6DvMIfgc>QT0#^=f#)5 za-gFx$dLbEyqSQD@UVykza1VCT$iB>b^YB{>rbzL0$s?!@k#o{o0n{80?hEVyVZx# zHVyKup8hEXWPday*n$CW4KQi807>atmS+}RNSDdK~gG@XQH$d7hvUA$FD4`9gcZ_7&Cou$xH zlr=VwEd*h_kP@tAXx@*b9v(W8%Do5-R)IUOqNEoG=`ca`MF)@g*^F#t@wm90!b}OO z8rrWqAy5J_0;)@dY69Ei+KL$B`!Si<9z3AZqo#IYMt=}|IrqPxWjujJXvqne6|WWRG7ac<3D=&J z;7lfW#b)D*G4ezorP#q;B5X^G;_}!81`|B3<0bI46(7bIkCd^josm! zC;6)Tvo;{FRXNw`9`qqRs5KR^)t|w7Jf-N2gs5oZx-%E$$di4g8+B)nW-L7>`-*@5 zv7B;>Tb+5&#Om#EW6Ml}Ot~JUa5jWIWS--#>B3GSm4>W=T!Z3?DJo9l0o!HpE{9tj zn305dF}O#U=c*~kbV!d*^;OsI^4Mki$~w%{x6#w%r}?V>{F8rvnXkHz&oK(hH!rG_ zcsgRRdy!{HM%9RFKV+{&d`D&MdGzg??lvG9ufTX{9e{`6=?}9RgEQO=X=qS?3}=as zzFUJ&@!!W}kQy!(|1lIx6ReRew*3yei2NF@&wme{d{#5kjq@I{C|{k>iJiF%?n8l` zDlU@EDoGyIgY`^sRS~Cp{ZsZ;X$TAi0ZYSR0@5x71CHbo-h+snkLowAUq}y zaP(#O4YJ0_8)3V|f|3j;Z}lf8F22X)L8l2vT_{HxjYozWLhN_qT4LIe*Ti8yVX*p4 zQ-iHZnN%}EkR-d*NVl5&7S%{wx|ZUIDsgJzY4v`(65c@>CSh&|$w}x%BnCy?1t#a| z2-Y5(hCh(Gb5a=LFU7GKO6wkGphhMAVyaCg}V# zy$NzKqnIaoULG(V9Qc5B2#cds?;7C`F{&Z`rDK1HuYv^Srz`wZdtktpv-ZBq9U;|H z@M>Pq#2{OOC}}^yC9NwAiURz77R_-sk+r@b<+G`|_HZ?K(>3dt6Swd-akp(qhF|E* ziI*wGz}t8^QTWPFu}4SohvR3u(-OAmVm>gdlu^E5rQw;Gn31QobHYL76S3PqcLM;Q@o871^E~hb{;Bw9=~?)(Gu}Cn^^1aMJXC} zZIfVtCrE(V=_-dvx5Nbv|4gj$EuDk~ZG0wyLu*vNgR3uQJL@;w;8-W9;f=75dM8dd z?!v;!4)IK3!~dgMgbn*Cij7R3gPe$Na3Z?jS`MJt>)wvq>)Pz(|HQKYk-69QRNO41 zuM6f^`i_?yXIad!{Rseoe`xeyy>r0HJ0wiV=yT{^{qN%J&@&SB{LJN)-wNjYJl-h6-`Ee}S6aRltjeeZKfF6F(*kek+K29X2rtW3)!4;NLtA zQZCQ7`#Ko18_}`*2y-ybz8`kCGa%_49JN6+<9&{zb*5Q}E#GpdR3^uJpj~f}2PhbW zAbH83_b!y)G2xuw^QT6qS?=QRa^?qyPnWwlQ|tb#0Uz{po^nHf-Qp=XQL)~`JP1Nt zP~5pV@gpmH3ifvv`F6pBbi*?vFa&~%@D+FHap+LRq*2Y?R{$b}_o>e2p4+5npXd1q z4$+%8vYqDuz?}%)`Cusq3h~P`TW9wL9c@Z>i@-jji(zIsve-AnEn>+D94V~^#Gz^M zZj)KM^E|fk-0(Dqc#iOF6R(>*atIGMepBhBC2kM8GqWFZ*^Na*pq~K8&3CXhS{?w{ zK@8+(04YSnvj%illVA_Rzl951s3-A(9`d5V$t+->Om^K%3;YAsEBZtBUAybh{^VTr z?G8*1Rs;Me*o|F~7r91?1qC^=K^?!tjBu~1MsC}-UQSJ1=C;#bhC-7;X!)BM7Mv?q zmZ6@&4Wp1GyOg3O6f`TA2ZRwPgRH@`WS9t~l?a{_5&VjHBsKm?)%z_(n-S!`Tuqd4 zv>~gwi{(BhQ@z~njugKOQTFJHFN=Jx;&ZA#SMk$V_~z1g&2)uyd1xOawBKYh%S^t( z-s?n^K+R~elAWyLG+E0|;ol)bFF*_RQgFv-*+#)tZkL3L9qEjXHkqYM@6e?#bV;c9 z0G`-%BODda)Yt1ZkXM6OG9%hzihn6P#k$ZPnRNDA2to{f%J!#TPwHr7YMyk4&)NZ7 z-@!dBReu8QI?U48&j)s>iKYBWS0jj}#Gm|1{U;QjW_I?c-*NkUl(QqCL_`)B zlbB*(9)~ufQJx$LS%qmUJy+1g8i>+NRa7RJu_O@4MV!o#m7l7*-Hmx8(!dX0`LLSa zap!Ug$Pv4mCyv005}g`Jve&t)KmT$eI4@{Cso(0xSPb}6*>7H00vL%;*2oM)!tY<> z4od2J0BdkdJ?ZNvLw_>72ldE=X^6Il{-)Kl$wk>Tmu5c_SB+R^zaA$~$4m*IDtBat znauE|M`(Av$sk&gkD()7=y}K*kYyyU3;h|MCj<8M$=JuWBJ9T~1qA0>uXS_J!Rz1} zH972QQp@H*6V!8OV{L?8BDyhEMXs7fPhx-dER zLuh88+7evHei1GJEG)oeWj~uJLT9#0YgWn4Djl|FgG#DVX;%LX2`5vqTjK{#QJqJ! zorkI91&#?Hhpu?ES)pxW)&?4!&7GCUe{Ll5@1xV91zs;F&=4fL*ESvNq6(m-{RBr@ z1KPDKzzslD(I#~-)kD9Lo{g^&we|5G+yqT%7isiLyl@Zm-1;-?+z!g67wgvXl0V6RVWJyT_WRU( zI9$0OR^C3U++5E0UhZ~7Q0BMecJP%&nTz1w{2d~HHKVePFcn$$^K1<#p!-02e;;}x zIPy#f=ZvP&$o%$wakbtTt`4HJ@Y0%3qVk0~8+(3dhK7r z2pxloj+nf%x>4nX@Y`Q3Ci=0f-Tq4_cf)^kkaF;>;XzSEO7OWdJC;443l$EYH=Te3 z=qD8_eNQUP1p>`W9U4Hs;fo zid^)5C(&x20D^A5Xxr_@CActTfvbj0id33!O+YWl3lDa^c!857@T#J<2v)rIEfx~w zQBXrRf2blu-hv1>vE=8eerKzb?G-5P8&t2eXeu>#wd!+F9%mhZwJrB-bvzM_K!p_t z2ik8&1RL1KiPB8}Jr~z%rr*1g$~L&85s_d&7cK5v`3-7tlZLtf8og;j_(X2s1>#Gb z#gj4s)Z}`SPL|aOM}goI{{sp~FwEL1I9rJry(LDBHrM`n*Sn3$M)zc6GqH>PsjZ~p zYy7EEX;}8TY>!SjiS==iJr;~U?{A~= zgcm=NF6P5`KgIY@YUVALLe0eOimNh^>8te@ zITjs$gbr)hiH;6hw7%;ZbQ@}4S?fI+EAIqTMxIC`To@CQYO%Y#|l8Y9OSGL zb=3)-xBnadjab)W{`BG;?O4q^m44strGVl7#%3NJzFrWYA)ZoVlkmE$>UpgSUZ=VP zcB{n(IV^tWnUJDynM0a++h?qRTh+4PlZQpPrN;8?U{IL%Q&5pko}VL~~QYXF&m?TqDxX#~M!`|oSyA&QCW_y#qhPX0Z)UJD@~I+pH{I;>(b zLZ#*gTR%)>-R<_hJq_0Ye+E}=BMfi!6-Hql4`((tN3O|VQ#(#^QrBGoeN)y7W2o#8 zke=FNm`M5&SBE6^7hY;%u)w~F9}aJUG}I&iUU$%PL$~MZX)>Qu( zVa>eVy2ctJ`nU{_eT!&Y$REKwXlBqC=9hUT>7C%)e>vH?wpdynR zc^p`GU@JyUhD^NCQOwco5_NKoUb{OOOjmZ0MWx->s+27hhjWH0z|#Sfc?Z7mE-`9E zI|B)f+$rIod!?|fMXPA>C22dMezg37l;;W`U>A^Q&;;jRQ-r2_?35>y)h^9e+=gU6}ST<=vZK#c3GQ00F?0}0EV zqj_J;uD%#n@<=s;wK~Q%GH)HK(Xi0FA3NGvXt&RX%+~(Itug^i_C7XDKSZaX=m~RC zt0HRVB0R{9trzbiJ!7Uf!yiB9y?M`6Dbln9n*zqcUYDrqJc+8Ks%w(`lS_C>70su^ z6Wol6D2B<}4Oj_nYY_n)*cgZNG;7-Gj-mrxS0vHer=n#PM;H1u-#YD5%B@~@Vxj+;J0lC=7uUjzYSX z*G9;KW(^crr$ToGMYs0@sBN2Cs2II2ow;UB?GgAfdplgOpJh8!Wfd{G#8McbH)8>A}cC1_SVymo~wDmc&raE$O8sxO?-6F{}2 z{-V0Z-4aMJd=<6AX~Ii!Lnye*u8*s3#2z6Op9&XiZvJPuRQh2uBCb3L)0b}dV2P5O zR1*B!7W)MRJEP(^Fy})%ow=e%VpGXRqU-`pxk15u_J+Y@m)tIK)-~52L^WPT9++Q; zz1a!9fxp2M)xH7#ChHJg8m8e_9zavXllzllWWk&!60H{9Iu4p$(3owLh#$h9|2PuW zlmV2tPX$H-W0J(tMCV$shqw!_%RfYc9^T0i-FJxjhK9bQkCsTE{vpeCP~OU5Cy#GZ zM1=y;C)FN6{AjNx>+57dvDbdO5i1{l(cOe{(_fB0KFHD~aJx(6I}wzQzVVi@%3OPt za|@X(yU^T0!C$zIizL}f@!7|uN>@G)?(IE)MMuKDmFSVb4^lZNyo$|S#iqXjMnc3; z=b?g~FyZapUeeWju<81O5#0x=>88aYs*)XuzFcfd$WgMZe9s?6N+NjNA$@SnzAN%;%lA1OAGRG;fZ7xo_SKnY-pUzD15IJ!R~Nn@PDuu15_s zRNohU?cYP;i#ePHr4n{#l;+v(ZIpPV;f1SjDKZuKAre>m82itZSNzkH1D7%Z&Vt&CxL}O!aQxw6>>((aMz; z0k^_CG}XQuaWDt9FGx6=$3LXU4mA)16BZgoYpVor{xa2@S4VM^hA1EvGY5#l>2?BU zl872pD^PbS1WW*eT}95}PR>b+cm87rz^KV-FATR3Gy--tZe0{5@a(I?B~BJssSl4|NfLTIR8P;~6S8YBpR(GzS` zLwV508tXig)_s;XWbHVkmLlTTuiX{$><=!Av}sb*lFvS?-k7X~Wo>59ILj!;$Zjzq z&e*H!vKZ~w4nqOcUw2ng$nSn6*d#4`JHpjZ5n^4dxS&>=*Wk78tmqo+>!L1e-`Y9) z58iHUW$pY-1WC{F_4qIt7YThP-U|?B3`9r0PW~16QU4Mc3Q+gPG3^X$ULJuFcZ(l0 zK|CQprNOjR{YSSYNnO{8$c@})yfJ=C4Maj#8RG+yPyC!>YvtaT$xO0Wx)@GWxU(LZ zf5IZLNlBgZemF)lm;0B0YVgvs&U8WF-fj2>=?(fA^_l%^ILlY|xP29RaRddcMF>|{yRPfo2Q#cSosBA^ z3RV}R{$}R&*ED11RY=yAtzDH`b*BTzNpJbCg`(I!nLvT|l^C4*fh86rg=PO44X6Lo za-0dgOUo=x{yWZa>DF=LO&L`|Y8qGzr{kl6z3rP}Xxr6%dI$_td;GiZWXg3M6=}fD z+c2&Odprv!JkZ~u%Tds_X3Rfc4U21Zrh3CwxiR*F{p|PInNcsZI#?ua;?T4BF^h04 zq7Ulve<&Kl=p7&`u3m0fM4kQxH7(EUJ(GY3YNI-?L7&C-?4dS=W0tz{lG>O9ek4f; z>(2TP^A(-n_nn8M;wuXE(*7_37u9xrvx}T)JyD;kW%zM}=I?tc}5a~d_`boql3)g{bw^euHH(it|cQiT2-kV|;XjY+o_Qo`dGqapshs zJj8<;Fo5_);*D)LuEFhanA4%a0k^|K!fxWGa4vV5p4BC#RvNj81swz`<$(^eCzNQy!nnrR~*=mt3%L_M*Uaez;(EWbOjfyTAhPm&HpW z<#U!S3e?2>Qo%2EF~7`NvNEtW=9db7`K|ZM?8U1CA9&xS*2Pte76lT2Y?@|DBMTQ- zEvZ@_=mfW_I{hYgHq^A}f@GnC;Y z%h^^JR4iLKw>+|J_QJ?=p==fNE0#@NIC)fg`2`CXPY&o(@-Z;$sLRh@HQ6aue!=Wj zfp4`cPa7@TuUxcbHv4-1)XK@lqv^ryRpk|{mM&Rbu{cs(G})=5#jk-2kEY&vZPu%+ zXj$)7M^kS_oAv4{TGo4Ot9sjChYKc;g$OR3&)Q55=z{LIz@Ui-R~ZvXE`U0&MPrF8qDcih7|rd-ZKG5^!| zLisWdz^bWpXPi-9JY0Wv&&JfblP6DR6MA>a{T|4cD!*2C>WL?mm6vlXl}{~? zR4k8Fz-%mC8Yp%ej2^$@5sNEUmU|cAR0xMGc0~mGJ+gepDJRG;Uhi7>W%A@P^QeB= zlGRhs7+pSj@`}^WEZ42Lzm~uvj2~}md(o= zlUL}XYow*Xo2HWDk>zJBEw7lfq+?}5yB4fP%E&8bY5%ocb4cmwf4cEuydPwqeqBKfE6T_x@+QwQ%{;CCe-5mhK1La()QdfBg^5 z*2zV5Mp|Ff&glq@_>Xl>$egs^ZrA2Y*EAamV$X{Kn*HPpdA>83`K zS$37QAs++7kKEW?Mr6uKc3p0+E_X(x;@iidS963)v>fc2<&)1ixjY~ZE#Z!m379z1 zxh-Y-THKrdNpSAXA-V2t>)x!bbL37cm=yS>JCNex!d^4eOq1%shEs_ndp~xwl(~ z-Pxt>w5s{6|3CanG$?QoeOJdF9yKpj7E(ADT zSviOWh#N;0k#t?{f%VEO^EMfZP5TR0)4{VKp1p`WduO^WC#Vw(V#Z?vF^_Z8+;-SL z(ef(zYrCrUx7+`jF@Nd6W_GVbCl`9jJ#C@4*gv%v=~muqWkm`*t^&;2?zaDu2~XJG+` zwKr6ve&@6y?VjqZyl+(;FDb*Ox}^e^eBwV@34liR)Z(I~dwO;K{NyKRZ-xdn$CS=2 zh0RUG>o^gzYEywOgCg6}5@j}cdBl6F`cDo@aNe9aG6#PPTu8ejL&)~CS}|tZmkRaf zj@F4I3u33M-h@wUXQb_udh=ALw_z2hwH&?re5-?=QlH-bWP`Li^!Dc+zHEs@cX4_+ zZyLP)vqyS|Tdi5y7&%cVH*wbyEy2;#emr>lFx32^HBjDa8A1vAU$x^A+j^@jr?)ot*vF)K2$Je;l9$Ywi5|K`sQa)xxlFI%-97KqF_T9$zXz1wAxW&W{?JcHGG&Q;*IJeJROFD7TVb`d^M5GCHO;1(0 z8I&D}ZQFs?3~UdA8LPGQ#($0lD?AsDY?6a(_eX}{!&7Cm1|OK|pE&^0k-4t#k;l>6 zCl_%N&mdZVUqpoNC$s%ubozEtHRNak8X8uLRc}fcX`Ls$VjYOc>HnHH6MA#1NNg#7?L5 z)tRHR);=TW%9z2ojG*(l-$>lJnY-u=QzN7~s+zO6zU5!JYVlml0i~vc4=#y;K0dl! z1z~Wg5gu|{f8f?&&ZQ|8XX4TZBV`b;BcTlI@Tcec80(G*K2+QQ5_1|=b4&0J9asf^ z7ug9}S9*HZ{XD@yAA6BLyN(+M`kJA}arT1`g^jE<%V#~L%$WASS=|LAPc3M<8|cvT z%Q1x6JZyN?06X{#4z?#uo#01scj2xb7oZeHF`SG_4ua6-(3>!92{qJ9!b#o)=bo$g zl^kNmu8`Jx`+ekVI&|I7>|kkv>gFZixp^fJkZ)(q$JzN==yGFQE!d}A@DJ{Y%gw@&)^F}Bd~?Cz5ZZ+#?m;o zFXu3qW3i3ApTh372G&7wqL6?r>OAwWY2!GwjR@PbLDqYkUixecUgF*KbqYt*^CmGo z2jS6xeJvOgM_Thr;si?Q%-EJ3>uHfF17zPgE5a{#4I;Q{)VhsoBvHYVyPFNTx8@ir z7#y>REdJHJ+95A=%OF0gf?Ecsj-6mOJ#WAnwmVYLWhWrrkD-AIQ zEE!GN&78ZpdA}nlWmxcj7sd|1r%eQ$RKDw*>_CQ8k79nwOokIFu!hxiLcQI22c0KB zOftEzB$Pv}1%x0`AyEI)IMK@7=ZNe;1Do4@ZBApm! zTEv7vdsNOy3r5U-fwbKBn{~W<5eI*^v%c7txDO460q{7mGSu<|qHGw^avVmOEWn=i zE+-eE?HZ!chL6p%tr5f)=T)>p)Q8oW`w$M=6^<=5jZ?v-BaM_NV!Kq`*7AuXTSVx7 zG4E9D!%rf1uN!bmu-PEx*BENnwYK1SxJGVbcGzi+FC63!hU5frtJ}l_Yyo;juDeqq z3yG)=;0D;EYS$ToQN#^_gkVu$O>7kwRdDZftD);7ecdnSA1v9Tn1jQcT>tK9h4Aw( z*78naxHEPaA6N(YG>IVr+a35yZ@_9C$^4G<%sa;_EC`>fH6(Fo!PFwi@Xlo%1AyW1 zA(9T=G0fhrhtI_RLO6+yTA0XBs{DZ+t#ucfD2pv-0m;UpDwM0U3fE_1O9Z`hF42f6 zY@-J%^SdMfni98mYnvNqBr z8o@3}Bd~r7!R9x_vHB^F-7U$6)z_bMkui7zW`yTLppzMgS$y#2>q!+bh*}I(O{}OY z-Sejv)d_fDFv+;?#~A|QV-Oc&3Q=6;L>Y_zkh@!bIbxJS4qk$`cteyA{Z@<8#%K3> zFx}gSXC*l6FjM#rw{WQsXHMub0t*QP(R(EK`Sb|1k;8f}vTmivZ&<$)uFKnp`{&Zjp^`lAMTY<4^>YVVsFE$f;kd8&3Nj?8Y?}yl>Dc3 zpoK@oq_zm>OSg(D9yzSoU)dGgi4|M!+}zc8$E8yU!Rnq{=&tqsfnnr;Z3tW@PeRrY zJ^&~jrKE(0;ON}Y_^-UD)g|d8b1ilZy;4x0(c-E<_qR@nHpLkL5hY+(Oh$gHGyG77 zL?wEgw=11Ehc``Vcnc<2{4LmLh!TWW^zFdM0GU&d4hD}4Z-J0i19_sS#y*w95!POEPDwxu=LMr;NUh^iz7B zNYFKOVnATAt1Z+}K?jWJ8Q-p3!w`xF1Ho#hIe1QQJMilvzFlTv)scaU{*q&UDC3Z!)K0{H^=2F|?L?z;L4cWypEz*^SC zbI|#k8rHdxae-Xjv1eII*3KR#5*u7bK1(;gVF7NNfwg_~`x zo>*R{>i~}}0?j$MVE*olmWj~)WZvYk$0yp*lqh!UqQ*qvH;g))=PI};c-8EEl5!!( zSO+GlDJdzK$piW*QQ;51x2m6n>?C9+Jl>{H@**U11`V#s2{0uj6_3gZ5vbS)Ecmj# zAvkX}^oI~B2b+LMc1aOQdq2>G32M?Gf%YEvu`>sMRA&+8VKz2aPkCbyc;&drdvmso z+XRXuK!>g1351BrAI$OsI&jtsie>io-1~Emv``@?7PT5PbLv>B07J1#kg!uz=hrF( z>$Fjz){5H=t9vm2_x(8Hh~h9PmoC-SE~u=c zpHCJWj)7NOy5XI|rDk9)fsa!6oA`+9P3edG%obD;%kH%1QL(}$uokbXm^!KaZjn{l z!Ra=VyjP(m@M{SsR44l`s`Mb>D1SzaQDd$P63gR7kdz6KA|VQz1|?`6E!)i$i2$5D zBRd;GCCzgzY8jAUD?9)1)#1gISa!%<0K%AN+u#E5!T06V1dEpEbI#+nwWF<`k?wAY zmtSp86Pg;cSw|H^<8pKB*e~=uS=Uz7$<495=l!gpY@CI|Joh3U{3K-r+J`YKl4aD7 zpvb1+Oa}XDz)^4MX1P=s_t5kde&rE^qAd|qOLFB7+fVG$eeP>#V*{1fcpERDeATHf z>v9&alQ5ysC#0#uFy}3~;(+TcK6!IP@=}`c^k<#op{rj!{X`uiE!PA?>Hy~{(-U2Z zuU}4ZGiLq2>+;pyq0{>_!4>K6aIe?p7$uJFQ=~jM2{NHOLab>ELv@2da)Ptn-0!<7 zh2XXH8K^o~CQu3>2NnsGhY44cr>jF6bZ;OK9RinL={Lb}*xAX(PVp<2p8TxK$`r~* zV3od@Kt3mv;Nw%iORiS)q#~8+L&e}R+1ByVBp0Ui6LSQkq=mYV-ZcpEu29okOC=L@J&=wK}8L1-gNY$UhMp(;v-e?fkim!v=>ih2myI4&jgt!B3$Kp~^kw;fTWs zu7-j&NHMQpg>psi&4eURhC@;zl`xJHMjjVhK@Ei*EGz8bqYt1q%nPh`hoD|;?9}Jc z>ERc+CA+>aCL@GmI=kkFmEypPD!AV%r@J5*Lu6`aU3$Yy*6VS}dcBMyI6MmZ-tq|! zbMf9z7TTg__^;29UK)5tzCe>O?D_G+2yq=Mg;M#y<_-_ky-!@<1*ZjMl%MGFvO!bI z>Fm~yxm{d@m0Ps!ux8_b&zLt_l;V-nG*->`!JRZ*8%M;^3#*x}g75K_G;ElAJjm|Y ziMSt|^^-#^+XuvU%4mF>L*Qu?9n;1{NH`YAV}me6Hyq(NZByl0tcw6AbUaH3?|6Qp z_I7IaNaDg>_Gz4za%xsb{qzMqq6vKVh7qU?L2{2{&HwK^j@u$8gBg%QsnUNL?OB9<@cG)C?#M?MR1Z|w( zRceCPBL<2)4xyXMJ>NZza_n11F!0~zV~Q*18n(7-vw95{1g@~obn)gw zue%}v<_n4~_|-h^p($?7^*fJ;ef0top`IinU1-VtR))09{yD-0sA&H1)Ugkz4yu*l z)FBk)ojRJ(&z6&`unQg^rGX%gfd(( z34?i%x)5h?`v4MxOYPM()H|xx5>YwyCHSHw>JFYUQ3HO&I@$5IKTwg%VEp3SVKKnh6-^d+G-`SZIB0E+ z8UbM^BW<6AVL^rf0{i5z6<|zgXrC0)Rm0T41usf{3A#K}BbY!p{~3!RXk%4Yg{6>7 z{mZx*1Lw?d#nM=};^%3%Kw#Xy7tVFguF8(#uKMupBp{ySdd#33B!U+SFS9`|X0W6* zazK7!ubakRM{W!DIsulq*JalrN1{Kalt8TyQE4u`htE4TU>!!--;u}}tUpe7kQFII zhY%6|uPTruG>1vPRUY(%l(?>k3mS8t>wyR0LK$e#*2oi{CcvxJY$ddcK~rr;X3Q;@ zTRDzzEa+$&i7~>s=qXspc2VUBn8HX2RQ z2GM6F+=#u^anC>&gJOKpBkY7WDyNBqN_e4|zE}>o0FpCo)41>no2rW04DNf&^ixi0lu|pQAPmt? zla@9j<{_pj407WhYWY}MkH5s*t^8;uU;YW6+|+@V7>KC57o_)wGggf=f^a{^-UwD_ zizD{t4QV25Ci5Q6WbWRwi7Lnv|JbfYNNYfKH1Xrc=bvyh(As=LnxnL|JX&my4dB5V zEQ<~EE1aSM?h1xQ=KCht*RmAf4zhKZ5i%%Tpf^k)i!9;15ik2bD*hY=oki#TIu zcgQrsQ87%h`P}ghQ%WA17XJ;N2U0dfDft=`0lxelH-0RyOFD}x7nUD#BJ#_|!*5F} zviQfc`WW;*r`$%4P&9uXk8&uLs$dK%B2UN`q;=7~R*?nQx4wAAWAV-rD?rN3L&+iV zrJy`%tmAzAyS(2-c`||_&~c&$Qo*T%l1wV?H<+}0O{=8frM!5~5Id(OL?Zi|NZB5m zw}r|zs;#51^_Ph%ABhc;PL$agd30l#tvA@&+Am8RF?hS~)M%iy5r`gGxn!iaDP@Xc zbE4S^1-smRCuOX}Fv($u*TV#yjD8Ra$1uf260d*O$a!Z|-orKY6P) zM4;PHmGb4 zyS&|s1Z$srmsfqvK`0*18wlhV$R5qJ6iu*Sr0yVq$iF|0^JpKBA3=6d;Bp%Kh4fB5 zpKboelkJ1laqi_a%FYQpp*Vk!UxMUu6T=XHlJ{86Kak(e1NJFT`SO&`t5zOI9n4wo z^#{z#+VS55s(rOx`7zR-sP;wAnmc4!aSQ!(Ue?AHY+oYc<3g(*L}-W&yPDw(wHJ0F z3p1ULMWoi52ChQd?RyE~S^FCalWk@D`o8Lt)X)VZ+4F&O)1-4o!KQdvZ6$N{);Q zLIj4A7t-Yp4~yM?XQ_vij|1&K*hkqz*m_Fhdk&Afl2$bof66;psq|#*9c*fRq{oiW zjiBbxew#zXLJsiZ<>w)>XE@2R->)pm=ldV2dO*&OG5644n2(Dc5>3lce8QoS&`UbW zXzRy$L~IazN~AeWU&RF>sg)LYv za1+LTBGV{GMe0RFoQ#GO^LA*F6IXMVizlj#+Azo(Z~Wj4S)QRaOMe5jL|ba7CNe>V zo{cZkM==YyBv0g!YV8H0}u?z7)h0BGSO*E8ChM z({}Y|F2#QW&-34hM+H8$W3lU?G0y@L;z~XVwn0 z{ZyqQcAq+fB(dLAy&DgMzeFI{bq=DXm5uItAGKH{5~;OS=JQ8023m-v9w~`wSb>Bk z?Y)pxZePP%Yqq^VjE@XZOh2>nXv@{^;<>SThK(TQZO*K(p7qW`#AXf%W+yG#PUdIF zMkAu0qRowNOy8CwOa5x!F)jjjc2^d$F$jG8%Y5G98GMMXD+0;Pm%WGvR<^f!p7#7H zMC57O5_Wb9vzR}@ZkC66lq-REafrvcYeYPPZF*Gk81(E2@{sH$F$=O*cb$3B>S#oRO5>6^&CMStQ zkj8N{WFNbet**NRf%!wyguyv|=2C3rg|0Z4Gsv&eF7Zb*bI_{9RQPcWDGm)p^e~&p zznEuf_aL3Xb<9a2VB;`_;7i)O*m_t9ok$CZ#it&G^Go+wc=Z}t7wg=i0!1IjLFVp_ zl6O;KZ^Q)4ZISMc#5Q1W3@8IfuC^-BHvE1ylL1Q&8Bt7B=h3Dr|uluQ}y{>LQrqQ11pmW9s|Ysto&cNQi#Gi352g zR#ypxtgcF8`2%7J&8yV0tIn1d3IgsX<%j`0FCh+sH#Ic_v}5APP~2|Voe8I@^}Epq zYT0*AOKJ?UVt-2fZXR>J)z{;q#ShV5!a}t1+85D=x3DkvbmU%kk0du#B|G2%BLP?D6^|_=H5p$XI(XA@Hh~JuWU8nN(?k^^X9N}I zm3~M|PDqZG@7zoB!Cmv!Per^qLHRRO#V*hs_dlF3tqF}0Qk|K68wiAK*0d^siXiy( z@8$)KAC zFlcg%ARIv$(ne(Awj9`c`RtvBl-(o)5a8IKI+D+^;T(V`#Td@#Ndn05BfJz`&NxP{@G_qNAgYj;Z}Yfw zdAZIM48`=INl2*1^q(WKb(uadEL&d54PGb^1Vi&K45w{03{(86>Wv0feDIJT?T#-0 zgx-6`v3%}x4y4@umz^?<^iL(Aa(DtcW$YF5#E#>nNSs-C`hBC@Zy#Nr-n|D*y*ql$ z3ad=v-m~A`=))3V?!R%#+_>1n!=Cp!|SII%yFPE;JmD62Zxi0lJEw+s$T6pUiTrbf|)`=Lei98Qa zh}pixXI1TtdEo3oy@{A}9MGZO*v_gq=!UMjQ9B0S_FM;C&UV4XYU%DGagkX4;|eW^ zO!2vcoNp!%ZgqMC5~OoeG%?>yk7kyQAaOWLQ=~`Pk92lt%-1<8T!A%{PfU0gREe1FfmUIFQ9<*scMh80$m9V*Tdb6{>2*arde;d!ggNY=r=zbVt<6wK?-tlUx@km<;Mwg z9Lt&%>17>YQ{*aqIljzmK?1=sj72e|wofR8CIsd|k5A7@p7PGqmdi_c8BV&p;a*|7 z1coyVq;F$&eS`Mz|5g1I-X5s^$c0_XW8W+;i3#g zW2A&^j}aR5zqulhXLc92Ev@ut%zKC#7dNZ|gK6%qE_8ZbIRfray&2ogQ=XV4h)?cQ zo^pH8+6|AvX15hT<%tV$_^*UcKIKV;qD0P^`J2j_Fn1LXNnXD6zBQSc|0@cR0v>oy zB<(8?jzkwpiDB%>fg9O9m$zjIF8#%P#Ukkxfz`4B(#*Th&81J`P~n;$th6gSf&IH8 z0+-IAClCR^hfh1Z8@&sf9@ds9~UjU$K<> z9v9l| zB;na*p=670b@OYEs8s0O*9~xe9G#as3E}w&?&XTrG9)3>)>cI)T-Fm?E*@88!P@f4b2JKbq^#}G-=L># zKZu%Hrwfl_ul%0*#9c10{>szcp5(Kzxv0>78^MG#Yd?w35^p=hE35r3iDu^QDfje+k&SILEjdbyA^2g;Qka%gA zB>s-4NPKYfHC0k+We;ME5Tt~uU|;@WenP=GTTF_q>`RnHL1CnguJ8v^YjSI_L~Yh_ zk-k=$zw$(QuknofT_pWC@ZIEdS_8&u1KA^hC$hGt!Cl z$eoodu!#3AsK7Fd5N6noHq}%}@`+DX2AN2yY@!OwADkvz6ftD!q{PKlWMs=m;CXJn z*O}3PC!~op2aofz5wL+w-7+E;pPkQqYvkv1g^Yl8`T69?gt3;xe&&6S5HAsJxHa|h zHQ{+oCgNI|05^rJcX90Ev)tCV@zHvErzJoTA-vHsykzcP)mjxPB>22<<|_`d^UOG` zffr=BXT3p;)UueG?xH$t2fITicW3? znNyUmVg>7wH-_bPtgy18E_I4XSeE^&WFZWz$1n|lzid}DpIhooN`k>K1yTt@Ct?|xib)*APCOaxe?;u+KFLPM zzFG-LN8{00(;{#(ilMO25(+-TFNKN$vM#~$i}elgo`;amhB2-N!`i`Z-Jwwwh$Iz`u5~6bcVAaU9xP05_R>gmf~5&& z7oJ%xHB%qmi}gZmS2tRyHh&ynC`z|GVD@0NbK3Cgn#O8Kaf z@;74XYS=L=;CP#b)aBAu!gsOF;@K{=JeBPd4^&yJA+$&;cFngpDs~P-04jFL2-M(_ z&6tn$^X-5HcZNXHvAm)$r7WV|@NrNi$Z*4d*rw|7%!WTSlA@iR7;<*@$13JPW#{bd zm8p;j@uDpp&u0-?W($8VNoe9cFt{*Isy2=n6XG9DOlWroXMM+Hp**D9W(4Zsv}9%1Bg-p3U7V9pE3Wrk{j zd5HRE1ef8h`Y z&Y>=ie08U_8*eg?{vp*X0mtMXyb?S!&`5~SubK@d1s{Auf}rCG>otmZ%xLu}1wkRY z%u(tiB;r3wQ658T|ErbVc?#JtW&>Mg1U$&cbmFou?c@m~RPqD1q84(Uc0`D_NEL}` zp9ELV$|3uSLO~i?<;p?kjXD4bZT-dgsPcUcSZT(tt+5k88_p!^KX&1HX`bmw%e?{$Ya5G{m(e%G+oa*4+_&6VPJPHc*pRf1>P{ z!U#iMa`j1I55@R!EAOu2y~YrL)EIxQkYiTCZj_d2&{+ytbpj4A1ek_k?tiP!YZ;!L zooP|LY|`K9*X`y8g%$%_LH&;0!Z_tGY2(2$0q1}ta$Q)V#?EElL8@>@L-=5C^(@LK z&982*ES4Yga|Ydl2Wdx?UmVER?S+`l9+4dz4=xjRh_vJcUvGrEDHqoWbJdGx%zK|^ zc^(ex1D(Mo-Po2JuGDxlcYFGvu3+Wp?3ty7GqxTaTL(XxtJxikkbRtNs#SJ#l(!IK zq1k|2Eg(V+VF2f}Ei=<>8H3a`H&GVhLvC*1jtX8?t1~NF3&;>+0IQtshB5|W=|Aup z!VWNY5!x5mKGAYGsC~jJ38fO2x2}PFr7LB?x5+I+LimWk5Oc%hO|5x;0hD*!8IfSe z$;|_?rtn>e(ZBGSmLIT9#r)uF;Y4doTdQNJ0YiR()gUZE5{i*uh*`PxM|4(1>v1kn z=1FRmj7u`?Ob~4X;e{Cd+d249i`6cx5C=}m`HD9j0zDBl={*zSc`fVno-yD0EX%4z z-hVL_616ghD2ma7S6{rTdSvI$5}dZL2!6)= zlAW`ivPE@nMs+7C@w9Xb24(l$LU*n2Yd;Q*d_h#|tOU#4(Al_If>hJfOouzB4mUxH zvIN;slQd)Q@}siyINUq0V)b*ry$paL&qa%?KK+iR+oe9m9$a1F+n`7Ch&|EUJlhde zA*3o?(ezzKGL~N=mj$wqj{cCM!D*rPz}-1ZK=GV)haclyjsi2zp4c)1&Sy?c6E-F@ ztlxmO@=lgRg=rUJVkOx9FLCrYVeNJWYzQ?axOqQ2hf$N}@C1}Y8^XV*Jx z?GwwI^n{`;F!k9e_?)d!g0#~+KHKgGnM@`WPF%*x!kM(Nrva1ALzC88w9MQMi=RNA zv%k%lUv%h_h9wCX`1~H4iFrW2LLkSm&>3-E_UBe<#B=Lq&#@v_=pfj=gr|19;x^aP zCq}yPH}m|`&N$9)u~{e$=5JlUfW7m0#T~asOMU$Q-M1LJePnYeQ$L& zQ#c2&u+WN&qL2V-cB^-_norcDA*R^AxU;2@tj|?`H1~d$wRwUf#8C&YvS&AMW{tMQx1irB zu888u2#a&oG*W+NcXh8C!&tC=Ng_D{T8`p>)HpdF%^iz$cp>e&f;qMbuPblIMFYay z+}rUqn2%8)z~MO5#D(J`xJ?^n@w!z;<`4mF*%ziuP>~AnO zt~lM1$ZyEsU=0moF+cm`YCXWx2vWu`5@{EQ=ix|c45<6Y;(?=Q%;>VG-h~ln-o`aE=~%Ea;ISy=Lbq~#Mcg?(;RU)8O((o3u3AXc znQpd%577nQmjKblQ5)v7c0O|MR2wX0L@dEHbfzzk(Le2lu~`z_nvPJwNRqk;HFSyD z+_UcDj2}Xh5-u4hlgea*^fr=;h8@YkA(VwNERyAI#l;G9N~| zCN*y2*fgj~eTrS@`pZjp(7E&B^Q@*aZ}Y&%3zsi~g9MWE&0OIN_r$eXE{XpM^XKDA za`9#-^S>i5@BweW)WMN%@sB2YF$X>n3LSdVFja*4o!S@EEyaGOWYRH~js#>G`R0uq zKNgf%_$lHO!(qzujBMS0(Fy`2*)1nP@{tM-(27_mF$K);M>!$s7EHn`Jd|9Tb|W#- zJ~h6AY9bq`qt=62XxJ_J$=vlNmXY#@C!ieTDo1LM_YWK>-r`>R)F2PupRRQlkYIh|&7e=`;P7#CqiwKvF!m zm3dMVNF|rE*F7}=C(&pl^I}CQ0oW?OHLN=(ung4lG8RahJN#E%VXkz&M_D7V@eQ1>IMQk;o2gSf)?h^FKd7mas0=gAiQYDNvOe3X0M_F zCyX+k?xsE9Pg!xm4-7ODo5`B@TMh~gdoD-%qtq15Tilh7Jgo*E#QBc=5b^5T^=gzpILJ2zC&K!D06Z0awnmyri z^$O7wU9zoto+H8CZ#s4l4(pYptR-+#Tqu&dzkh9W;|wcqp`ZUBEZQ!nb$eEZpB=7ORC}# zE<0OWD&*27QSV4IZNB+cmO=-~O=XY?msmy!kMxO`@h~AImQnh~WgkjcWGb^F(^wH? zh6?C-MTB6NAoTV$*|k^|Y%1k|g7HDS0$qia^q^Jy2c ztU3z|QW)?=;+-HIR}ZYC5?{A}L#L0|!c(FjhF>Hq8iAh?{T^)@VspU5y();rNn%Jz zbcn)9G#*LmK4P2v|Ki<#nIDi3_NYttKADHLwchy_Vv?u!;yt16>2(Ba(u(M;^xN~S z*Q6+IQ}ZQ{KYv2O@*@-G=ab0%e5Sn;BhKXXYaDCD1S6s?S=TD5{KMr*Z~$2G2Atc# zG+Mk0{BR6AdiDM3KqShZBqacu*Jr65t@@T&v_93SwV()spUho<*3C=)3Xd)_uz36u z6PsURvYxA9=G{*<7y4AEw?Ub?&W|Ww={lkgx~s|zQ97A+A^X2qvBhDdfzc3ewV~-XAh;^D zJ2fi}{yf28WAN_zIyba@&KOPBc4)ypFKfi+S)(CYBWuL_(@{U7c(I0+HA{C@StCj( zYro*}=g;U!vX-7uBJ&eEvaF@1@{>B0z$urywj7Bw0AB>*D@xEnX2QN53Mej8$H1*5BPx)!6Fnn0wvisF6PAOw6e2o`qnm7%4$8w zAx<`vnIIbjZVB*y^dJJK3EFKe(ld44aI8unhijcL16Rn-?#d$gRuJG{=B;Bxw0pjL zdT9ly1O@+XKH-ryq*>BCI}wCC`=ee@{>NEoIy$74=c3N$ISpopR9IJ49OPANdRcBz zayDVl6QhIMFmvE6_$D1tEYL-PPPGOi8w9V41Wod_i@X24ok_=#2?VKAQZoMu-VGKQ zV+BNbH3XD3hR&v;I@J_-ebk7;C7U$1{XU-Vm!Kw83WF>)>vmBDa0?1li{SVhQp0r> zUpNT(o}__o`*LjyVa>NcMz`ofW1rZ(0TSrXQ5+7|4DmMqpZOtqNgdkdAlv^C$0wq6 zCf&~e$>}egQY`n#gn1j8$oz~pWzzY%yhX=SEV2pS9VAI<<4qFa1bSe+y{8OWAYf^5 z(*P&^1910wW2`?9;Br2iU+Qmk`?$&2C8i`UP?wS7h#ygdh;983=K6tMC7ObT6tpiJ z$G@1TXy?*`BbBEv*hrCY1HqRB+ZIhY!R0KH?dF#ibFf;uCgq5TX{!k;hZwfnN7I;T ztBr`Lf>DO2x&^hPBx#iSi-(Xe)zG?VDr}m^{esgLwKpeg76~LVi=Hz&L~s8HEVX}b zQ>Za-WmmZB))m`@2p9r8!@|S=DK9s3ePo1+lEn_G(8YFX1G?pV#b=weo>YM z3g^^Pl`=F5P7gs2+QQ>`2#XT3AYp{ZgYh4W)Q}b-qohDUd>ZkLA5v0#E~*?`%$qo0 zgYQ!IdOvQow!XC7S;v!aM~1IIh3g%`mI1~A`rDm_Um7S^;mizLBWq?^5fh*yVlQbF zxR*8otJ3yfk03S`hW1-pBPQd+5Wgi6Bs~(le_3ZN7V-RKf?yX8cBY_E7I!9r<|K8y zIi;{i2F<-kfH~0EdtR1?o$wRz8r7**glmYxkzDjD3g=Kn;0{-Ecj2i#xK7Q}GU+x0 z4&VVKdyfA0UrBRtIP(~Wgr``>l(xc{2deb({3flH-!^=|2KX&~vL*2FWP2O2No>db z(hAf7UM1+PFPtf@xRP6@Y@s!e(<@?5q@b4(&&tPCo)UtrH8{IQg^rB?17GNn&y7V&oNulC4}5IFzY*cGJxOvxWEe2L&#p{wfEt(8K+7 zu9Njd4mLhoBEl_lEqEN(OE0_l`RT(tFC{#XGivT|(%X#|JKSCWAFfyoOo~M0^sQh+ z!*~*C4mgTI2v-axedavLf%?W$cNU+F2O(GbtO8q0X9UIM@_2?78}S^U)(<1QH4$L6@9C zgh(}&aQMg3PS}|kOK}Y~47VEIB`|o@u6b;9B`*dC_ZG*=^#9_5mU%y`Pgm?E37ntK z<`QhQxfT>{Z2VS7U>5_C=g83MO2MmsH&rvv5PbaE{Fy@+mv#~|28Q3|UMw-*-OhFw zj%WggKfkARnEU^Fjy|bAw%o~M!S5W;@BrO&Fq(s_RfuuYenl-d%yq#HW~%%%b47mU zalyP)CvgPk@aHrErRTKwDbV1WyZW*?mXnh*0(Tc~MsCtdYZ=}!L$JZGX7M*t9FXgk zsg66BCG_Bd`%PlY96Vl^p&=F8QyG2uS}`=CWa98PBPb0h$apm^7NUM1kXdy0e}2#kK_b42V+?3uLyA<3TjEp4zkC<+k9@4>&XCjKYZzQR(P|>Qi@6GExOzGR)wuWf;OqAPnh| zgz-6rQE(j(5@Y||baW6$x8XzoCGwwW3a^a=xTW%^p_DeD68rzk!5=0vpjGd_**j z4nRW>z({xbtuZhXNq3Ay3}ay=KZu(+h%s?e7+FI^<5`HG*D*BCNp7V#Qt}1A8cMJ`N7z%Fd`byLOesqFcww{v=Y%YI|47!zr!KG z8fj{Ov$wP@eOed$8!?QBm;5O1^V?%&rcf^t(U_LvCLKf-Zkm#8%Argp<`UwTcvf^1 zF%^y?20fIu6ziu~`PGQ6yP6bNO+q0`j7ah+&Gz3Z-)d{p6SFmul(O~6bNO_RrP_{L zdrVeS64&_H;`enZjG1M%wS&hK>UW;6x|$yFJgC>?|UH1Q8s+I5(LQ|N2} zA{ifp`^o%_pUm>pN$o*d4kxZLGRDq#kuk=>;(=KsDx8>_90}JW*5SA4NMN4TXK_n% zRTd{o$KvMQ&FgSKg^tCEWE?D>n#{*?Fym3;eo&UhiEE6E@fsb=xL7>U;>0wDk$BDX zmws7Bvw1I~GN*!kVzf ziK&^P1X?Fn6Ouhzkgi^~FCMoi-v ziWmQna4gMkm?|!i6vt*nGEO%0!*3cK^PJyT{uvl(kh=omODh7!KT~p>f`o__ z1xe<@YsCN&W`oHWI3DQd2ox|`mT>L7J{QXe8gd`HWP23bi(3x)(&f|NZ;hVJOP7aE zF7y!C5|s2`=q>h7twkE!h0gF+~W11YOK=N;X@`=qm{J-gi*)I!2#C#k;8r?<3}sD)y+JYUjOL_b=_aaCE=H(+j%f6?9#SF_dbSD!xPre&B{FgNnJXhgrup2*e}ggRXS8+YSm#^_J!d+XfPkRq;s~ z^I^LLSp|>`xUM)vEt()eT^Q?jbJq_z_D#QZ4LKNk5?jpQ5tt4G@^`Kzin+do+SdX) z=xtX4?rg?$DzK=ZIKK9bn;~6WC*C zC7_*{vN%eKEM+BE8oek^Jv(k@^*{WBvesZGT;6Lsj}%lw*sbK!N*d`jlg-#HZorAN ziRD^5*=L!*(*aDqyLY7C+qNg8V}aR#Wk_WJwqdkjZd-VmL=cCM>4{W%8q1gf=G%Aw ze>xSw*IC@^Ag#1CS*PZpT0LZAFt!}(a?d&{imxu)g2q0zG3s|tD@l%;@-&_yMjO94 zGh=>&1D6dpUEcl#3JAkGmj?sRpzb}+f>Pz4?e!P)PCIE+`;rMEVik@3J>eQJ_+1ND zVd*++_1+NSZDEcgOTP-GrncDUkMt+TF6*-nnU=Y+B{LTyp5>9{5-?c5jx9*bfKPa8MSPjc;`pv8V}OIquM zIQY06$Fmuk3Uo!TLRj>PudAA+!F8VW?8l^xLfERdh*Zpaky7spfL)-!d*FbO=;dwbh z<9+i_QJlrrXfM{?cy?HPr$+iXt?j%nGv))H`hur)VbI)wI(q)$M0l>)C;rjg>(AT_ zI7s*_c)<-yVuEDR_;gG$)P zKCBDRKD->0UvBk4&8^x%jvjfefhSbdvd81&jzw1GEoJu0`DET~G3LX=8_Du|W|G-X z^t4yzi+Rvrko-Xl$?H35mwMa#xOOcV7bmbSOATH`nK!2fN9Z=}~z<=wX4>RG%)KaVR%RC2_~a-O7>pFJMRGA}v#3NZ;u zKrt_Bf;LefQe1LN!SN6CE`=N{UCBe;0!81DW>@}U9`q4AcNHHO#sU;R#Z6eV^N^!% zSDy~_mk{QO4v(KZJm?<0k&RhRJf96Y#%HPig=fm;WGRJZabq6c+&y1R0kN=+d66Q7 z+>L?}5gdv2RMdHFAp-6(rTBuhB;c5D`b*CHh~&kLL3qj-I~xHldW6+@z;%RZ|1>|T z;4$2?C&z_X@@GYXI9BmRI6vq>`-!Z`>$mxf`UiEqvte&2G}kLp|iG& zKykJUoi6#0nB%VbWyB|j%v5wz9#@ZKo8*(?YIPx`NUmDhE^c7{MEi}XfA&EeL(?y> zK}iTi_ounj-!#DyQ{jG0UKF^&kLHNtkzt(LTv?Fdt@gF^C|9(wH4mEPv-4kVn_pe+ znWr{Fn3&^>>#J*I)FMkkaRm*{yPH6cnuaK8cB)^fTZu*6n15~pBdTLY>r1E46r&^> z+sL&357$00OfvTb8N({D1ng5&0wr0$X;a|_!GA-)Jv61yU;@3==fAmYpXf!=egY4F zG=JO}x@j>YP_RkDUY52xs7JQ|`>5C1*gzb_P>%yEQ3b%vj*oev!x5n0S?blDAf7jc zV*6fr)a`YbQHpqIdP$Pfn*wEiycuc{Rg$xu1fE#VPd0|G!Q~`TMay~U5@ZL_ zAd`@&A}0Bb<|vj;tqGYYNx7iRz5mv(nu~|F?tCu~koV|s!l<+H$wqZao5wbo>#2L)n(09W$ZmsdKc zyX%P{@1dp8ZuH{C6H`r}_{7s5LDfMyz~VU6J-v=f?>ze;6QHeeiiTABj^<61C0fqj z3-DQXlN7@X4pVFp*`(94JGGEwf#6cdocSQ>Fz&bq7-M%gPWS-*C z>z7f}I*AHwwXgucQ0C4fNtgRvSgBUi(rt1&?woJaaqvVmqWQGYYb_9-J9}Junfbb# zrU~)A*qo_OujA)7%;z*lW1YC{gmaG2~j9-=ZJ?m;>it8?}T_B$BoZGUMIOp z2(y{;w5q)s#MbZEw;Yq^Z7Yl*69U8|YE zP`3Y}0~uLPKrof9zzZ1v&}S#h_$A7gkyh)!-~4j5T#SL zFZf(T$`(vik${A<75o9uedY6$;5mD|tgUQGWvp!X{li3wuB~iIr&G4S?TD_w$J%N1 z%9bEg%JxoQuyZp8W$Twwl`T;GSJ`j1Xfb0cEiReCKy7$1qA+7U;Mz!Kkw%hA1f2UGCI zAIuw+j6uHr5gc-RamSDQDjZezM?{sp0Qk5fZ-S32>U%?!Zo_%;7iA4bwC*h*S0o^@ z;Ryaf?!NXg`WkljptHS&s)b(?w24LF#o=F{ z_G2BVyGxjgwtG!?7paV`g6&^+3p5d;Yg+}R(^&<->WCiAD!?>)tAHR=R>8kGG-I*~ zxQuEQ5LM$=fj@)o{%5Z8$m$dn(<~5pfqHt1f`<=hB1}|f7Lc5zS@7-&Q#hhoKyp)N z!FT?PlhjIGkn8}U)PX~|6 z>1n(_FXy0`JlHMMpnD2*3yAoGdE8exPsMbHFqJYCb&_65%6_8^PGbDw4%x;-pi@&p z+6a~a8Gm_9b}prh;Be=MZ%-A037pZ!%xfwos)h z6fSaJ8ZdJHVPA8!Xq^YJ1(`sG$%o`yC1pzRpezciwB(UD!m{1W(-d%6Q7Na$N#1j` zYrR&F-Q9pLH}6$ovAD=nyC~)2A2_sBw`#n1i42f~5ivM?`qr+-=DQkjIy)>6W35VW zQ@JvEh<@As?~c(^7s`7UTMnQyQ`6v;!>rDbhO20h>j zYC}}SGO@u1Z%zMi4zyepGXkNuBLXf70r7$B%kq%8t@>iV>+31;PwW?ic4#@=$iv1= ztU&y#ykcu3lo=^2-&$K`6axfHNohDNsgc~F5Ly@!Tk*9@kecTY?YM; zf@@*ebVho)?c%BC@x#GD9EHG;UJk~CuQsn94oGK(K%|!ga*6pEVI*8ImHFO1)k+u% zUrR-)gD2(6Z<5JO;13O1`(`U!B{0yNBetm4Tob3vi?g5>NFsC@zc~QX4ejrAM=S8C zsKK}$Z=de6ju5s8KA96i7wd+R%`_}kF_@_X9hi3Gz-Hf41nDp4RTgck{@y_8Avo#i ztq${d1=I%fqkJD}uXLki?mOupU?!(7Xi((>)v4lTwf)v-5 za1!Yx{8NtNrnhiEv$};7PeT%(3jes|u4I$?5^hQ59xlKF3GXTFAuoA`+Qa=smF?lA zB`M+Wog{f9N;qjvN%;Nl=9aGTu)M#IvdiC$i_@slMu`sYtcW< z+lHFYW8a*td1xS&v6O#mvP9PwbkgYr{n~q2PN^X1wdYr5ou~?BeY7{>;Rbw`jwB)O zH7TaV3%o$$|G-VuP!eC0fO0nh$w>N?mV46a0S{|Yx#V;B5NyFJNC3jP-- zOyP)vPjXX&f9%nLNDy6H@=2$Y{AW6%8HaIZ55} zgA=B3MBPGiQ@Z7C6B`2e)tc9yq%zhmUz#k@wRH>Wbh>5szgu=5lWqy@7NQ!5Zt;f8 zD+dn-N@sun{2J= zjLGJSe0k0B7g#~A{LKB`rZXMcq@Sp>d9Ka*2108W@r}}46ige!du;^dn!D74hGd9DK(e~8xxQ|lyX{5t)m;tX@^Q%DnKj)%eO z-rhs@nqYB%ntMDb&2Pc$Uh|u$P^BPIA$wPJ?AmJvX3|Na33-$aCEn$IIU>-%%=H;$ zso{nESPfH{eY%I)r~N(1SjOWQ^7iS}Zq2@PWw$q`_HCSB>37aWt84OxOC&p|5G>C& z+Dug;GLxz5r4^%h8m6$~^ER+lu<0r}msrV95p?C1S%Q$}{NQa)H-e?tqVD`^bf()| z!(tp=+9CBkhMy^V%8~7d1YIaFB1k|sPg0!4s)w&Qq0a)|t?PFe<&ig79c#VL0&^?9 zq*q!w(E%u;b@UkCXrGRbt}fh+64Je;h4ZaxtVe41xCWJ0guGz)_*GJiC7z1NYN*t` zdP?3@Y@AAztved(fh@HxaL=q%n;=m!Im#(MvC=Y5{tP;<8k*B+*rjpU!s5uIuEwy! zvX_R%8G;45YR6q{%A2bI`CRXdc^prvpynmZ5~QWK)mg--5DWd-kKlPYgx{+uJnPITfvci}XK3j_k7GxGF(!`)TiBGs`LEIMm|Qp7kz`2VX(1ebT+>d3^3V*r1?L z8t9&tF%0bn?I~?^(q%u!>E+IsxUDJsSm=p)u}>Der#hRxKFri!7Y?IqqInEYPK{@} zokcmK;1M7~(O=Adg*fPJqV=Hh*mF*0sBmF$-oSdL3T8>wxnuAh47DI)9br=u%AKzY zyNezsNwNJ^SAw;098X$xz13aludb)8i*YSYiFGwDw89g#)1J>Y#PJMvTGlL&=3PO{!+IOWs*+9okZ5`N$94DzoF{Y9;;Q#< z;Qj0CBG~~BL+f8({8pR<=5R=f-saAiI$J3Bm>!SWPeX8O9&+e)c^b!N=RHGucN@-D zq1ydqj_VL`eROfHlq-5H^s(si(=Sp&Lm!UN=sha`t^_yA1aZzQhg%<9_ur$Iv^X>tU^{x9#ZiRI9+ScNY(M7(=@HKIYFHB>R+01>vsYk!>yE zp#||6E$QI4h?k?9G2gRYcOM-14z8}iy}P-9YQyn4aYz9i@Oya3zaeCRdGo1dPO4aXpi~EMXIxA1ig^6nM&TM!J*NIb+Z> zvFi9F82}5tdl6pT;?E(OviRIZN3D1}rgkqbNkm8&u3-(G zfart8VJQd+PSCG#eC#hR7#23yy~TYP7&?)@@ff1B3$l>lv3_T%hue-JdP8r#lrtH# zO%EK|mmrawun)kWx`Bl{c$$JX%@2y$9%OHnF>E?We&O->V z_4ksGM7d^`q&M3;(bKI-nz@um5rvtzpxl?Fqqk|Il`<|xS8D}GrPHQ#!s!hGJwfxZRy(q?3Zfd zk?BnujMC2cS(z)G_#jZI=P=m$w}C$bBM$s=q{oBs$UftdO<7Ulg|i!xxUu6v73zu; zCwj|<-O``T5A1N1=K_=Iv8(})2>#UqED3UBztlH#=P3myOnXQwmCFye`a1yg{r0;= z&8U!vl(Q5#o5bJDGh7#3{m;XA>vr4lzo^B2q}LOpe@8S2H~vC@YNOA%L41}cEl)6vIO12)&y}ptts8{9BzKLX9vQc5#23Z=JR?HwtC; zSpw9qAZLnfaj72N(?uT7b!* zzupMYV2uSJ*Z2uL8(1RT7vS+Bys(Hkv*-*Ii@4imPnWkQ`qNWuOWlR;*(E%p;iWg~ zW8?2{uJxo5OXb7I(>@HX0zXe5ySZaH_h5?U+W`v$HdckiG362zhX3Xg<+dkMmQiBX zT+)xQWXub8+1VRFRv?M?J;B1^DLgmwB;%R?aJc-mi4w-ac}q{tBD&JXQfIE&P1>*k zPS%mR1jP+;=Qqc*sK5R*zUfZbP3@kjk3c_!BWUfrxqBYVxGaYo>F545A0QAXK)EXz z0)j2WE{=?=uQpfgv9noD#ne=9^{m7ZA<$9O7Syfu4t_MRb;7FHX>e+DWkJGB z%}0G}$9XlBsN}{t%|d|oPjk<`4M>?l*N4GQKtf^#C7TYVL(#ZrzXaC~pps zaDjAt5-7JOAENt$8w{fN9IrYq=&XYj&pi5c1>5H|G>_b;vw|%sJDvn7-1nq;yiwlF z&a{X|w5Ur>sa9kJTg<7>NUmeT`lDT)&Q3kmww^y_r#wD_z;aE#YZ{)tv*BB!Yp8Ev zpD-jP5{D2<1ru`oi`lo|v%EF+_rrm=ytdTScy$+%kwwv(BB!5QTZf6l5b*B$GICBV zVt6y$9z4I$LJWD79Rl>h=2yLYU(`sOrx=@*<;itF=Q2-6CZHp)b2Cz5dx{g5Vajfi5@_yV9IS$N{H)GJ~m! zm6MFJ;W>@86mgm+44SE#u`FRNf)lJJgas@3%12#fbb3}3$^t^Kee}qzW^=F8tVYNI ztGzUXX;fCTh-J~8$msN}CX@w)ewl=Z2FK7^ z&8DlSS&fhbR%;zfGj$WJR!d13(o)E3R;|6THI_B3MR9`Hgs@-Bzpm%S%1y#!9$B z@TE!`v+UGzcZURh6~p*G6XCFX5g-JWAdj%4Pgc z#S9yAOf#_8P3#hGp`yi3zXO-?afB2aqRzZ|eAx{u#^QP&VayVFqW1}VBO@?l|MaN_ zF|Z^AFbK>T!~Y-#&@b`$Z5GpLaCWhr!e9G@zdTr(-6~0L@R$pAagv)`9^ren5E2(>~jj;pt?MK||#EdI^H=3x2`c`)5 z)7^d)mR6GB2f>^DVjh0na?7~rNysPk(UzhNc-B15(=cu`VT8jCiHvQnw|bh#Wowll zZb*W+wZ7&Fn#?3tu(e21%GNq~!tvWg$gE&%k)pBMTK;tNR6lqx6%_u2k(Ej(`E-+_$e2%+A^R~E*hw(ji6hV$ zG@{J!S**?BR1_T`lnkSO+QNq#5 zMiiBNjvFts@c?EEU@p8R%M5tr}KovMK)ITQF0ZdS5 z2r_fxaF5Nxs@!rgGD6WHZt?mfT*kzy%8xGPvd?zN<)NLA)#Xd`&;o`9(aUU~3(JOG z5_;wBB|r+)074kqGs9E=LU;q#$x%17fMSaj;005z0+%|7%8z;a`Eif4GdJ4laaac| z(I!rh?{I{;tYJGlyEV)(EUB1Zu|orQCEo>**vUNQ@f=)W4i$9usmc~91iF0!j5CW8 zzdIt7%#p}0l#cAKbmn`=bvf03{Kh)=4wMW;lwq{dS;mQu1@BOnMk3HRapMC;gyKrJ zW~kDFd#?3mTmZR1V#)y09o|bqkuhy!mCHuE5GPkVicwR5<%Z#!5oijiyj+hv^KNNv znL)fGl4mY`f=nrxdSi7RxvwQtn@gu0=s~4G5+Kdf_#>ndS}?^*HhNz^OCbB(3Yz(V zd}*Ko`G1>knozN!NdM&iQp0*CBI*VE1NZzo$OR>K4a#e zXjeJjWow=X3%ou=kmL3FDI!kHSZFE2`j$CC7&q8e;#3VgB<3V-@wvgLe}|5^(@puq z3{gTXX!92ggdlPTvWK7(1A%QV#81V~WOutx~uPLUh_Fg~DZ)_c6c*6pT9HGfFn0EJJi%3*ef02m<;X>uQADkS!R`6GnoJ#)6+JlD9e!31C#)DrtNvV;tmM7OcD;vEI zN)H~8n~Q3a2u*c^6z^cqE^;!6Ao$6=cQVsF!W951jJ3jpJB}~Lq7_R0|HSXL!jnBU zW7P^eeHF9<=}BpYw~)q$v;rxqq!k2hV_HF-`A`dYnRm-S{t2(37D&$6)Pldlc(jhX z8NGld%;*Io2=&5`j(?ux2%=in0x693!vFCEH?9{vp@Xai;`e%C`@-1S)KgU@0E_gb z^ujHqu>rl{DXF9v1Z@L)A&jVkUU=UGC%l4QAUR{u3*o3?FPKHL+30$~E@4J55J9LH zT8a@~x3TG8p+z^mT6%#L#(Lp(p5U?Q1rj<)FA%@i3!nDXOknyd*bAg5r5C2U!c-0E zh3fW#plwbsc!S~D91YCn2{3F0#Xxe#rx?7&@J=0es2T7kN9rU|c8ai)n9&LZ9%_X< zpQ^LnO-0wNoFB@yFp_(LM8=9?-qTz~G1R7YkZvFeUN`)bCukVmP@AwSW&=q|sfRC; z%zX7wo0v+LgJ90p5HTAK(>iGHB?(@9U*`!L=iciHtFrf!q?Gu6iexq; zzMhy$d#_+_N_@$>@#Z`8WXB8>nfnUjONz!NzTxPx`<|WH=ttOnNn|X(f9z=2S&bK+Zl_Z7?yi?82)Z=3AoSCC&)G-mnr`|lUWK77^G zBb|LoWGukPdQM)N7T^S}gZ5vN;05?)o}h8<0SUsY?7t)_CBT10GDjES1TmHNU%@=O z00(^ zWE>j9(>ln)APHV$M4q5=GOZ`9iiJUvQX1n8B(oWf;fbkaVF>2NG)A!1%HzUco9yIQ z&={m>Y#JjRK5UH6Emjyt)EIU_y~ZHiJdN=hkI)x#lTv%F&KydhAfHjbyPSoq%_m&z zvFjJzOlw{1lgL=VJbHcH`h~O((k~>z>zC(xg2t_1bP_9E0Fb1Ve)$l|Y)-$Bm`eIZ zFgLAVyh(D&hGU0`%zgz0LyE?&V7yK8BX0a&!_>a**9>W#Ue}wjEfNY{XNW8LTJYst zPWR-#7F<9~^8H>ZBqDHZ26or<6)56&Dh?`quU0zy_iBIMk%vrz9FE~L3X+>`zo9JZ z+Ic>|q07;iy1uLH?Gwu_vcGa8WE&ar1ReI%g-UePCv!GeHkMAWbQiZ_V&ye?zSNcc z(OiC384FfO{LEq}nrh?uGfd+CRNC(}nk{WaNbcf0LiWW-$qYuO@K$TL=KqQiwRSQ6 z7wSU)^Z9ken81~#Hiy<3^GA+U$iRxE5$l7xm?KCk>??i`zGT5dA3f+C`Q}KFy_-@< z%dK!#rM+L(6WSTPn#**{U@zBJQeAgMMtZoP%(Dh}4|%rwi-bv*-UF5vG@hkDpg4<% zd!i=V_#y1&6Gyg;;PFTwbe@wOAVoHKr$=Ut<~QYK#KilHyP{*)UNbl@4!ap2z~l2~ zgpa50`s?O|qAFUFaB$VIw1W5VAZ~m*3#r2konDu<{dTWQVvw(6yfL+Jn8Gvy|8iwizYKy+o5D>dGs#MBzmEy+34? zCf>=KLnbs{ZR&RyWgd}_$7jQaUl!5tNcTS)Zt>I6(N#SExVG9`S~%aDZnbttZB5$5 zoG2CYw|Tas2X<3H4-Y3(GPk10z3H#(|w;})hBdP ze>LhXF3M{;(BuuzFzS;Go{$z;4KIuu5)_bP*(#W&V6`33c`K?aAEqj7q)otTV1%JB zjiS>ln-Q2EnTr9_TsAEg7Zy3YSg?G3djV!SZBieANqr4;u2347)L-|6?-s=;vT6mb zE%GvX?qHdoIi=Q+x+Gbq{Zy+OE}p55cbHjFzDyF`T$0F zB(s#MTCmqhJyRn{v*=VACCyl?SnQq{;&TT~f2j*yfZrD5XZZ2purB+U zKuv%%yKjwm1OJ$Mrydqyuv@D=i?YVftUQWNG=T-})Ohg}RG6ib@^{&}XHA^H$jY5Sp8YIz{TA;yD2a}uODRDXGl#(T~>=zR$5s7o+(0t^P z=R90a1i{1Qzo`fVbq91fh^=h)da$$P18WoK=zcfN%-{=e2^dZ@7zi5$#bA7KxhYe%AiIjBg-)2JvsVq0hsr$w2Y-VlQ2 zh0h!KsR_9%IhKNi7NW;V)UZHppQ}(&gr{1qp=YP*Qs1-iAD3;r@$6Fn%r@I# z+trPZ?UCD9>EtB9N`a%BuDtT9UT1lJv2&^Xsa20IlS9ONp5Zo(SVM>7gR6WGR6lHV z94V!-{$akveiLF`a@YZK7!GkneetswCier+bd#HU-kFc4%2%hB@o4J3e#AF+PV)G= z0uD&sXsJ89@`^p%Cw?@C2m&{0c$Ic*Y??$IiU*)6`cu1Ixk4%E0%4#|pW3~+BtER} z3f@_#my>h}NsTH4%7Q+5$<0r1gJCATut9dBiy;xI1ytt>MR-O5Nkwz7vki~K9x z*I62$A+aP818^T7h=|b%(ADNhtRKaJ(vW4uewuPkh6DJ$}G_L0j$%NPOa!n`I_>cZXx1wbZt>W^K|xGA?el zI4^{dP*5K9Vhof+0wv;Rvw5n5XF=V&~oR z(lB~>fZKBC@N2={6#*!seVq{O`D z{0jzSI6YZiAr5KlKh$gMj1G|&l%b+`R4+CvMcxrmcAw`u>t#oDeYdly5t&DqaY3Gc z_-8)-UWnrvw8op&hr*m}fvr3`^CsUZ;Z6`LihU3S#GbJS!u%B> zf%F~G!PS+G{`%%ZAJIDFcK01lNHK}<=mR69*_$B4uoYUn2;{{t%u&ou{ zc@Jr7x48YNa|6elc4Rn&vcUAoc&sGaeNvdr-1Dsnr9t9_`0L*qW= zg*I5b%PWgIow132RwrPtzk3leA$%vK#(2e9Auo6$Y3&9G>_>nOV!7wW!mFUA1sC z94|za`_WAQ1WhpUB7^pf0~yl{9waMZP3jy6OK=5 zb`s1Du@k|#9jFdd!M48d3skf0J+-=iwzIz2mKPao$7%;y&H z?(Xth|2#NJ8t~udJ};z5q)AA;N7!Sl_%*^C^ZT%}guRv1D^bkn?&y$+yMNNM-J9*5 z=*jDs;4UP85th8Oij%~u-lUrMIQTHQwKs!T?I4QcP}wUd4)se8T5^)@Ymf3(UVD7l zi*o0|KlUi!^|8mNyOz1s9g?IQX>w~oy7{YteLNt!;ypA40Mgz8kRQ!uKbcD&-(-_- z)T!nP+DdMX_eQhxI8S$jnRkb@BR%lgS|4bny?5o#nCCepJE2kAJzV|n>Pe;!mJ4dv z9`V?_wd>T}fmtStC*?X?P(gj)ckor)MYWqwMr)?G38S5$|R;nz{s}AOAEve#*{V zIRJ#H(4Qb(+}IJNa+`zTcjP$cOtbEBC(A}O7|gbpSd9A|m$iji#F5q({=f<#3>4uE z3;n4Lcn6T_n&c%(b|#|>q+1;j^FtP{a2w8Xj)PZL7ZEHIz_;(VOY>X3MQh&M1XTfA z23%kVq(6p|MhuQB%H@|8XRK-KZ9mSe@d{ets)D}cr~O>p_v`k<@v^+O)YAmf!hlT} zNm_~nMiPvpb!-gXzK`;iL22Q}t$9NnQja6A=~Zy?bZt>S^R{tPgVTEp)DTArHCkW7 z9C+!NCdXAM0y)G{NKRN#$9!m<a3=|G&?OO!9DE-ke5JPZJM%n38ed*-7akK@)hi%&Hn4wOz62SMWyG{ro=p3c!% zHY*Q8cQtts%uULJ4haJBa~#sh0)df)0zs%wApX8F6wL_)Y04LfSH7wdfxwK!0zsH5 zf!Ovl4v*v4W(30To+=Q6#vvG8Ai^CN8^mpH45upCCsyayZV~$=~)v#A({UDe)Zm~s#mXGy?RGFK6F%r z7S9E>WH8}Dgo_!$8hBBg&kGr&+1!=q`V(fvJQ`sZvLl4q%nNi$4ZWASo`k|opsFxC zIWiQZ6J|nFzA(GP3*CsMJrIXlFyYFirG(H=SziV7+lpy;7151-EH(vZN^E{Z@r=4h zK)YrL-F0aDi`>w~>q#tOqgtkN!7oVMsua=oBE^~tS6i=|#IX(3B%&GluHf~g^In`k zbP1+Qg*d`!afpeFt|+&!68XPPvy`&vL%PCvItMgWBU{6qo71RwRQR-gmi@N-b_j*MUmQD5-V{3)$q zU^!CkKfg&1>mPM*m4kaGGSVo-{Rx3Gx}CZIV+JvgbZ7SGjQhRJjpzEdhtxSkpz7A# z8X1bwZOuYc{?>fYm%9;(HRLWL5xZ04n2|PKOq#1K2pB;7f>FJ?1Z%LgQv36sJ?67Y zhi<5e)zyWhSW0u}BpB5Nw!gx4O+n@fCN|=S+URNNM!MAaAz$i;Kh_V|%}TMRAuv;# z#=@VadNJ_8h)O{)YZ47-UaJseK_Du{;D9N91e%i@qC5OR!FL&UA&DP4lJ>sRbuvX# z&Wwq|BHxEdpQZp5shc)I#Fq}yXY{)iBK@2_l5axbH+z*(7u>aj(KAU`8gYP41L7H3 zE=w!CrebSlbX-%Np9a>fB7bSNEv;Au&UH3EgBdskngYM)o}5&k&S%4RKl`4(jc>3N zbz8qKVQHl%A4~R9bK=!*&U)yGGm?N}II}Ww6e@^&VUKiR)uhn3P5HjBQR4j>Z5TSi zUKML>6o3Im=G7j9b|BxdGBDaee97^j+VJbq$o2Np_$FWH3Tl0FSOf-rhBb{P$^i_YG+c{f2OWo}a zBN?fXr37S5nt8TIp&eQONZHv*$S9&w1UejkpNq-SS6xObV5ay2{sC`X*FXgXdm$wt zW6I1cvM5kdf|j@=t#Y$nmo)#~4k+TuB7?GbZW?+s;zLr+FT$P89PWkrksUoJFa>w& zW3%N=+Gicu(al^SHHk(M==6+W<~)zT)puhkX`oXV^0BPHFucnP(I|qEOkJ?{cr3g0uQTI1h(IN^j$*&+1Y|IEf15=y z@YE@eo>Qm8=cZ0@r>E{m8G`z$MgVtF?+vAC@!%w+lVfM!2<-HC<~e_(qn!LaebX__ z&9=S<{3;xhWX~-EGT@e`qDa|JAeOxiEOr_dyPQ)WPB!td|46wGulCPE`ja|FU_=?ABpB03D>8)-Y^Ao%m^fk;< z#XciT6{<+VFOJ}xV|zEUu-u<1i2KdnR6qx?^2&uI*Z?=o2i)wLPf6hSnNLYs2*n2a z9y^U=^Uk>4`->j$ewz+;CPQ`Zth2}{E`u1L0+2A zEARo=#5C4~2DKt!Nx;NU%)Q<&LlavZnJK1-Zl7nt%|5RznaL$L%XOFBE*C{exhAO9 zqUdtFbY}-=T6A%wUU>-^Clklt6qUkj>i&kT7}0&%Glxtm)(x z1w)(&vD=0aI~n32r33-@h>1$1G{_%Otchm`g>ZfEv(NwvU*Ue$uJ!E^=n@FY>~G9Z zXcr?d)qEIE))-t={OVW#Ru^izEt$Ey14T&{l zC6u%XzRe*pr{Gmq?quqBQJdQFcRi*a^{nCr$x=;hp-;?{Y;*8qYN0z*f00mH+V*spjn?>NsdL!T0K90CP5=OdveWbW}n2=zLhn@AVnBn{!Nj;L$Gk_W+~_gGQDNxvXK*uRR-(vKe>k_;SQux@5=r&yVCBqy*$Lk>$oF#H~&7)DQ}ievW@7Yt9j87y>_)1Z&QFkL~|3knLdz zp@IbBq``8_tgQ#+3{SuSNgy%E*E^7mm)#tTY#TECLkN>F{AF(S-pwWjgtJK2snm#> zS)r9`RQx77x{C1d>f)qi7O2V0EK)g3b|0bF&$?1-l{U{J?m$%_B+@!{f5qi`s^&Pq6u9b`x|K-7g-8G zv*d-@fAXBj_E!#X7xNA6n=r^A&zZ|M;?M0-r+m~1Jptem7hW)*)BYCbSpx^8^Q@un zSZsL&W5F6Ba1zPRkWddtcK&(#yfx9vZVSZm=LWji2JA-gkUOiz;iR1j{tg$_d;?&}^xz*zNTnODd*^ zl@`r?KFYc2RkLwZ5MDa4-WC%0!lmzNqY$cm>mQi+W`=hY z?so8r$n17Pc(~jB+Q(0a-Hu(!+wFw<^ltZ=)1^y^-A<_XyWP$I-{~?fsohQp4|cm> zvKmWUs^~mb=?YcTyjkFZ;=wo`NBW2^d#8EtZzU(I{PTjz=w9ypYXQ93d^- zFa9H^94*vzIoZmEmL6*;RZ8-$q-sJLL%9Muyh&E$$IIy0vt|%57Fv(SoX{F(9A>jF zDoxlvj=Z>wh8=dasE5Q}bEdf$X(*u%B&E4|v<47Vza3Hb&BxcxE1OjmV#1 zGfw5a)o{Vy6$|s7V??_fFu^-bM^a0vgu7g563FmQI+ORgPY}xC+=UKF-N$|NdCO4i zK9Zxhb)@7YGAK5x&5l%kM21#*IJXbAAGu;n+oh~7up)SzH~_x?@{j*xhjV{0p1I1+ z0HZn;%?&$-wl)~+Q6VWi##E}dAgyhijsPT;f0`qoNVC9ZBiY^Q%fyAXYtLI!oK3iisc+@Jx)Xd?xy|R|Bq+4019avwkFD2u1 z%7>O>G2^@2ipn4bZ(J#vzxbpqfKA6g@Oc5RcaF7|kH?n@5M#yH2hx*lBlG!9+C$un zM62y;+`BbPYVxVMR>{x50*RM<=-H@e#{u`+;fv~qH3O1$vRr*#S1XIX@wXRN)4IM^ zR`V$DFRmAGV-aw#{**m&1o`}9VK=;5I&8JlE=2*b6I%Vtkmj7C07=hicc(k914)r5 z$C%N&ZRrM|PS0As)Me=4v+RbB4Rz?WcsFwBJy_sT4<4XcS+Zc7fN%xVp6bCR3$Xcu zX+cw5G|K0$>1TY?6eUxoZc0231IQ%8wn5>vn|;P@-ZK#RN$(7;(%y`w<@&Qk*CqQ2 z?ip=$_-0%!c3jrpS_yeeaGiFkTqFv;87hKpVDz=ta5tRw-!_laf$P4hj&D?wUI-V% z3xOngFN6PSsLx=64U?`Vo|tih1*4(( z@THMZnp_V>K?_N5p>YY*4K0lJ*3UYr(9JPxK+SN#0$CEqfjbbAk__Ycfe;5CN`-L@ z&np9xhN~Hx1M+IN32j~@ zCt@>qAU2cHWDLOGNv~UH#vtmH86zEn*;+Z5 zc2$)D3@Gn4GmWRBKKf490BjC-2doFSTi=%3?b=bnBdrjr?V9sL6BVp2jLkjt=PZ=f`#G!Us8G6?w~FftCuCK1D3X-=pv3( z{1AVcsCR>oG~kE$%RIw2z~$0iWSNDn&bET3I4Yp&6TgKx;JVNiiqR0T)@<9?die{nST zu30Dj;Ph%R9zX6XliH9h3RVi7JSxKpVra^^`H9DPq~|Kn`) zELmKAjvX^M>UfBw#9{>~nO(&F5P`kbG1n?C zSjIx%uaTjg0Yd?$;0X|z#c#Nw924RgEO#2=IHL3=CS?D4mlEL>f`Mg+n@>SNa2b~V zP6o#qSlY=B!PPHIJK^!ze;Wx;2f{-jrg-{`ibZ)k!ONks02M*tATBBO66I@zd692` zkR0>=@;CE&XmHr%Qot5~A(y^#R2XvDk+75O_+!PUgQTl4sP-bmfRIFf>xSXs-^w3` zyw>a}T1%6#qwnt@Mow4QI@y)G|GT3}yONlb(3Pl<@LuWjuE-Fm>+@q3eoPHL>q4K^ z{zary=wRVH2svp4b~rd+RAky2t+PNOj*C{lcXa*of8@`Fwjc_$kk3LCuk79~?xmMz zY>^!EoBXH4y*_D%l`PVX;4;!|R|ZF48heo1askKGR&@#K;slnLR_?j^b_PS=@=^{4 zmDLvX+D;_p9ZEF|52v;8vAO!&>7nWyiPW6uWG|8{J2xE(R6S3wD7(_ASYNf%5b4>~j{Z^0^ew$#!3%)b_?DwX}4ZI-fMUNZ% zr;LrDfF%VTPkrXhJVCh0qf|G9Zy|K+3NphnkSbCG>hUwuMn)=$+8D!@~ zQ4sdOU<6$DmHGHkXppfcMK(y8WKFdNyD8$ z(eXN3*d0KLb__Sm> z*}9RqFXIlE@8A7ONBFkhnfXvEGvg;q2SA%-PXOU)*DbkUmeN^sqaUW&Rr7Jf6Cs%& zufb)BjOBKBD-LfHh>5o535q12chQSD1v%k2q=k1f|A=i4Ek>8KBXYaT)y)t1r}=5o zm!YdTKl09hQ$KS3hZ+B3WYCJ|bx04TIHx#oXWNMFmYm-6G!qK4_@P|?yhXHuaf=|w> zdAUQGOo}{!2by?w5{mauHlOs}z%p(_MXlN-;o%+c`AdUtp{l3|0w+#J>c__azmO&(oX48cWjxB zqVHU-Xa7{EeY+p83bLjlML?(<%tV(jSFVaymg}|3$Cov8c} zMuXWXnOj?CTqhXWC^>whrNBNfebRT*nIXrgD4xxGF!nplI4#Ah`!M;_tLDZyV}X}o zoQ$(idXphWWhZLXErJ8fl?r@M{FcZ}oyhRz+RUAINvmYDIh0Bm&H4S%?jR0%eI_W} zcNh52X3f6}YGB5KVlE6#l-`(v{}(74_)>cxDyLz#4oPR?$TUeWu@6fFi6s!5SF(r$ zl*}p-45Rm?5AUO_8UiJ`bOR390Huru?gmrSy1OUz2Am1O1@|k~ITGY4rNt^LOV|gh zCo0tyEKIbkWktI5R6p?ouqRM)b3s}ZG=_Zqk&EuQtuoEy{SXbE=dKJn)I5(@q?nWZ;A1 zN5q;rHWdz~KRXqD;XW83IfnW9pLL8qXy@#`r)FoCFoQF)RGyJoZlU9eP1St(#$Cpz7j^sd$UA@m zU=n3nO)kwfjFA^cMsVehZP##X(3<3;L?6!C(yOsDU!ocE&3{$9PCM6foO_Ly0M^n# z1oGOUBN6Pq*o%r1zTk4j0?L4}!ZhAP?U0+HCG_J>9%RB-)(V)(d4<3D2J^yVHQDft(osB-QG&M2~!;+1@;UNb;qDaBlx6T zhp1?lJGHg^?7q^cysynuZsulbllNBk9qla+4J#ceGTAi7(w(@Y@}c?a>C#8ZsbObS zU6=AYDgE)CRA;7--~2S0Ny;NPlj2d5JCV|xrR)RGt$G&ZG3;ul=gYOmR{w5Z|?DPr^#INCg1f~ZrPFaK0>%&wbkLhZC&8}GS48m)bT61Zc zp~{69bg})78D^NlSF-D`)!I0yE~18n^!bX&Juv^M)2s&)4HBpyo@nCM?0JX@m4w>V ziRf2ueHt(-4vL{5>U9*5K6!2pzBZpcO?n$HOWq$890jC1aYyY@VEQ(v$BZI9xhK8b zQ9$~W{?gq2wx>xi`#K6pZ+su+$Y7p&n)Gn+qk#0x_f|Jr@AGP|JzaVps0+Q10@5qr z>%{k_cDvJqn`Z_;3P{&{x3lL5^Xb#1??W90q;tvMr%n*&(w{#~<~}gS>6$G%3P_)P zw}Y?Emrs}825VdCFFp!LuQL6$M}f}mPmlQxb&f7a0qKtKsyhmN$@VdMt?5q%fpa6T zsOe={JArFqw$kfXl$AO24yVaL^>>_r(%SPlAzhA-6Iba7=y4*r93F43PtJ?fjM)yQ zOgtlOJ|@K1;%dChiOC4fi8kgM+l^jV74ccg-{Kea7jBQ^DIr2i3DvC3)WE z$^zHI_=zmbP(pg5hvA#4vdnYRq(7v;sB?g#~YyE3u*tGAim=7j_g!$V^ zbD@w461i~Z4uOfsISWISB9d|~oCVftiD~0Nm-vW#QtTK9Kak zw3s{&i$5o9;hZg`Y}S0>&JVxXlAkBHS$ot@pcIZxb5%C7CiO$Dx#<`l+_(cBA z6;=XcfH=N_2e&krALcR(DVE{YtFdABFEsQ0<%X@=WraSgb|I0wll>^kP3P1d5z<1^ zGq`m4S0f=?6~H}vE(m-{uiNq@<#i*%<+?p0`HtV$?J==3*1XG05!H<1bw9~Vh;6nu zI?2Od=DVAe%pLYrza|9Q6Z?JcYSm7!YHp4Jot{Bf%z7Cm&S@@BRN}Mwkx6&>Nu1d> z;ivC>`D_^L7)zoK?z6iE!GU?2ly`lFCB~*`>F%>Ri1X|)RC47(n|ZD9iQV@Tff&;a zT~3$NWgXA%krvy0q=i5ZBQ2&KnOgN{5hXx7RZ%3iT=_7NV{Uaf$Fxv)f*6j=5f##{ zB#~UgRLhH~1q;PTfWWwe2j)Tn$je>lCp+3h*szC5n?hfRQ~%xT_eV0oUnv7@f|Igj zJR?D;xJ8?PcC18Ayu7%`T)fLmn}nUyL00a_0Vb7pW2-EYiUv@z&^f z%OWFQZcNU)&KU5{h%0y?(CIQnN0Z|Cp?O@t9VmzyT2BqG6m@%9AS_AU&3?fNZLQ(l zr2;gwup`oPTja7y88()5`^d$RYyT0ZhD)->A= z9uSKA8L{5VjR3FxoMo$uOBp`iQ9p8NC6oLXtJ{QD3p$|(Hmb+}&7z}aHc(>V*TEuCTVaK0iX(;fd zg!Bz~do`eio}~jZtYP&)pRYs+&n4L|=LF66(KwGASnpeAH?WeRJ2#BIOVAa*;aFrF z1N*urTM6?D56Bqw|Sg235Ht&@V_1NDxtdq!Rq}#j@mJ$l7ZGP-4CV#`9yXVAtfY}37 z?z{a;sEVJOmsu){H_>6s0;W{vT~L{cD^Td~c`q5D(WAbYIx3-`O76^$w+L~OF>I%( zxidT*dw-c#u?#_`E(?dNJO`oiAxj=Fkw%#)iOEQ5(>mfZyKqOx_z1S_8}nl~NGQAI zJLbw2G8`Cd+vMCmIA{zT7xl1?|!WX z=?fJN*8yIBF_y%5yelB(y~2VL&!VW{wg#DNWHH855bKGFwQV zcBj|+euvCSItgidhjV1udbv*`=cSITOZiyRL=S`@ZjF~%P?;~GD#R(EO7lVbN+V6; zm*#I2MC><4&~us#Gi4r<&%rP*lcD*kZ61qHrh3XD9TBCu_F?NSGQDH5wzO1jRhzi| z6n7m6k=@bZiy}dw3-H|Rfa;jLOV7+a(a61gZi-J`-~81uKd@KBFS4Ivr%R2!tQ?1;1QX2<;)!&>-`CK6bR`i=202AsVd!#Fke#x`ToG^q6fJo zw*=sm6J-Z6$24j4q2LnqCxSajYfIo=QrN=#+oiB&OHE;$nHLZL$OGKuj8wg)=&X5r zGmbmV!YQcI&&_woLV)V(^ud&ToPx&bPIzYSJ>~lCB_{a2Qf@Y}A)=-i1vS!`ViSV6 zE>-O3!6S2xw#TQMdJ%qO34N@uB#}MRPR>xjryeqN7D?C#3NlFA1d>yc?M%=MYm>r@il!VIgS3v~*(m9OjeH$?Hu|iNaBuv31+@*P2c%JQZupW?az2K~ zOhqm;l20>$G@KzCRb)tg2oBdcvdP1_eMnnLM?+sf zdM_%T0zEMIow#yP=Mc!lecM!CO+}Z%kHTg*V^@dksnj3|yfjdjK~Oj^jmIiF-H$LV zYIN`0Ti>5ki6@hoUefLNPE3#Vx~z(6U6F*WG^~^*6%0|UMD0$i);ubD+n}S3t-G_` zjrK^oKX|5l!Jm`q{zW6DD<=)UAV{Ube}^J1G#?Di8Oa>^JCNwnaznC&JrT$1gA>L@ zsT|eE%Ntln!3US^utIH@Qz(*W#t=i70*T$!7G&geY70@R+S045;LsNcWkak=t5Isk z$hqD(e_~^VS_kP3y;$%DDJMtgF(+48=EghSHUe+_#Tw4CP|f=wa)^O|2*>FF)*dE{ zq#aTXi;(u&g8?rr@K4wL%a(Xg_Na%ZtwRGv-_y*z?njqfCnqpQyD~)327~QT2+fi> z>hXA&8;`=fW633o{GV}pQh$9bZByrOS8f8C7;(Du|DHAFU6v)cOBPB28p4$Kd?gu0 zHOc8$U8C5|vDZqg#fLwaf0F(ZTz0!~O9l%+v<@R+)j_eVw}|b4ND_BQ#S^SC>lR`j zvODZlFWUOZDk_6)lZq0y3`j2m?P)A^mR2%*HO_4Y$@m578CJIL-EK6cs+SrNBIF7b z<+k^_ktCjw74x+Q<^m-h1VL1=xCqyLX1#?sN5h z*DV-{!y}T-V7$M^q{DER#_@AIjebTx4?heN7<)vR036p|@Jn`340$zg7p=8kd=^IcAkv{nP_LH~*VLham zq*^U{qe34=XghOe=9a=4#>TZ*(7_n{#n&wZh5JR`Wn;Xad(Gs?lkkWhM>3VWwwk+K zC|uuzsV7MD$_nHpsZ^TpcR#Z)O>`5-fB|UCz4w;=d5Bam{pDVm$0b70iF@v`%j3Eo zPoJ_=h|Yf99+7+rcHJHmidPtc-eMPhy#K`ueiI~JAazW-@XgIhrFX0$eb%w&vWuL) z1AB^#*^qJ(o?+1%t4dSP$)|KP5l0 zZ+oWIYU~w}Ko^rKCdWekX*w_=j|QHkvui**EtTk10{x5)@t1jl2cU6Ez)RLO;PcEIPR#q8E*~54|w4oF9Fe6uBQp3eD4pw}ab+i^o zls+vExw%i7I~tR?S}oOa4*>}yop#U6?u$9waM;Dn!82&OYu1v%oqymqLks|Z0dlEG zMme{THSQ~$QstG7B%1iqFf6n?zpyWd37O)hYc1XFKEsQ^4xrK{sXwZ2Uy651cflxC z>|}nh3A&JuL5?7OY@OQ&x+#$8ak4u8$BWU+BO_!han~O=7zAvN`Kio}nu?{>1a%(- zScFM7m@CC5+92^k5Z2%OzRW~PwnQPnJhmK{RKtC$@Ei)B2u(RW*Y(DFxaqxOlFbLU08CuD*fYID-D{su`x;37w>E&{?@xAi4Lbu@P$Y7-7Y@;(B-%SpJSBgYD3vAA7zpmp)38|{O#na^}@m#0HDYsor@3_tVeU!oE_JA zDUNR>OEx%YZzNdbwN~9w8YHs~Xdu>@hL<=Ry#6x&mF*cTCyjxS6QnWtiICTCkl^qJ zn?Y~jkZHp$59<+A|<^&^T1y9YBh0dO; zz=jc@uMr59sr449DjURy`94+~v&gXmZg=^_St|5AB01jkXs@LW#+ckw*RUyD(udw% zI7;orQHtn-qtrh*?8E1Vk#qnAbIJ=h^Fs@jhEEL>m9q)fLg3sYo=Fo^Por zK41L5H50(={-U>XNW*qlnU^?(d*(5XD!<51_n>px-?f{=bG&Y9rKPPeaUXk(*vRjS$~@9NYQ{#Dpvsoq4H1jDg~b}-jH}> zx04%HB;S~VgklSQWWKA-M=}UO4wr*mu!J6`a5--g<_-J3z{(gJ?IsvsD$P zwpDdGADA`EI^P~dbb%qN_-b;v)LC$mdb&^yggYb^3kB&g^0ngz7em4YF9DLIRH)dHr_7jB8>MNVV zrH^Z2Ogf>&W3Le8GVd&!PS2+E*?X0)Kxg)y4y7f=i{$_loQ2SHwvRdM7KgN#I@K|V zX?0_jqPdd(M?Tm6tOGr?WghGyD8aVN7^gLPsgKQ*?3aOHMu8wCB|h3jR^mprv9QX- z<>`^*^f0kGpa}r`%lx&X)nU-2DS2_$E-6PZLqUTH09=%{z|TZk7w6J=-C;M7X?g|^ zd=^kSfzO{SLXi{0EZ?SLnE$t+y{jg|*K};zdc^f4UoK(?JI@Cs&-sKWZc}qfPYA<* zl-=BN>~S`p1N{9_kA8#-+FqKf1+q;8B8tLK6_Z~+i8LVeCPrbaCX$&%3oXC!0k!aTVm>9 zN;N7U=dLJi($CG)EhK8oW6gBpoC}B!TC};}gOvlP+7Nq?4nt*Ef%R@95~z^cm`rhc#K5HWFZG|CkJA{;7Ulx)x z&)G6H3(c2ff`QNk6vJhE=@x*tTXkSTrU7Vu^@%#!8-+s56;AUV8*YH zUsz|~S6%5CUZW8EWpl7~FMV!*Me=s6m3SR_5erZv4w(oOj5*5NKUnl`_3M^fcW=JT z9YULu)jf24Ku-Yvx|pbNCY+pZ8D;1Qg$ALE-G!7% z@Q8svw7Rr}Lg;IjEd6a>Xo(#6RoP(>f*3C_9J0j_r`k^Tn6D@Wx_Dh?2KzbAmHZ(7 z{KUg#c?4T4c0SQAG*b&kp@tk8$bWDcFOHW_wj)UmfWAxPl!vrE3ae-&NF1pXd z?b6EG{ihP)*m(xOyyOAMXQ4?7E|jzuf+49UES2l+>bi0zXgZWPEBOhXq4%=L$$B6X z4cmf%40VaF!VJTh44Yq*s^A=QD~xXx*#XYqX@iy4Tk;MZ8`*7pMv-k7A5IFpZO`Mn zCdDRyr3_Bcb14KI?7iXmbn&+u)WtcrdgF4^U0b@6zuV%Hzwr4bfx$w`(_Y3kJbGR2 z7;0m#&oW|SW6<*E8p7xkmK}oqE}Z{BVCM=WM9d7b)iD!ym9hfw^Qe)BfT-vc#uETNt z0QSmMFEzj9n(Y>L@lFc`*=}2wKE{g11`fPfHHCn1I?RPa5_UI@&R~L&WON2UanTu& zxB1u36vXBqZTA8WN*&y5!Nr7R#b*nDFLB=mw@FS#d*cjuLl4$~{xvvh()EmWAe<>s z=<$@OJ!H&*+Dgo;>4v6qyMJW9A$j(wW1ggxZsy>6+@>6)*cD=(Grb6b z_jv02k5`(W0>|5kPF~6j2>-zRw?Oo^wqHQM(s>eR~86bqzmccb90wt zh5Q#-lL~W;#rE|6P2)^_DTD-DLYXZ-Py?Fl(OUpn^X(MUho*qRZ#-PR?UU~c=!0u^EWTsFhPTpFqnmpVdloe-7x&OArSEs$vAry5E? z!^YGJEuk9lB_%GcZjGNRh`qxupoJqD)vHYaS6G>5N}c`rV<=-Ml&dNy=Q56Dzm zP$VGb0P}(g(j=ZTBp~T2^ASr@Y*r{Z&IRL`XXRK&l1t2Nyb{VQEATDE3K6=}&&?a^ zsl~kU)DG^aDMaV^X?|()oyqYC6{=Dmp+B*d;VSocz9&cToP z=-^jt==M8aw0luOZAS$EkAsJKQ+7E#X=ZTb6!bxN)rdK;lb(6K@5l(9Ro%i-Q;1a1 zn`anL!{X!W316CfHFY>gNrhz7t>VgM`J_Y=wM#+-t3L=rk`cT$A8}L+U6NX)E1?AH z%16+9?L5gMmen+`BHzI2Q15w^a`E{**t~|E4<$bgGeJmL%?c`-D)0T z(ex0a17VRgsD!InkOuXcX*5iOIuO(noG%JCMC*xBVz52&C|XTis&N75pKlXlTaPX^ z$XhE&W&ue6U4ieHyQTGuE%?@5t=?cIyBp+8zhpw98=`YyXEQpm&kWeyr%Yr+n=-MI z2H~O$!dNAK<71VcUC=qoTAO`$p{%4GsI)aH9@R#|;tLcW-SA~pN&{fz_n((+Umd^tW&Dj7c3+e zU)87Phr_|%fr)fb7FQb$7UK~}$*1Prc6MC)491d}BhX!KHOrma8U?#RW2qtk&^%EQ zsF*I2g*b^*K)@5QA&peHUHLHc1BKxyFWvye&I?~W`9>zh?C7vhI9p^x@Zxs;Bu+=1 z7h%P5UiktR4o6QFlwsHUVt`zwRjya%d;jSL!M&}tu=_n+qs$2*k;e*XM)9#CDpxAiHXMP2jiMixE_FRz&}~8z zG*V&3HiPa80rJC43oW2zhgX>`L4#94BO|=yhb_ho8p3cUxISTcr^HPLqK0&)D9mV8 z{lyLyxy5;ft3NQTk{8Udzq0R-@NKgtS`VdxXdNC1vqms{qTfWzh})gdu! zUFueIL$=;TFj63;0^3TVM43Qti@s`R7#Wo;v_1D|Cj`e4CWR0JxM5AN)T)*0@fswf z%y4V9(uq3huqk-E`D)mPRE;qhYS#R-c6)?zMsha{S8{7;IBPGmzKT*I#OY4NWY+&Xu!XuMt_=lAr0um`ndBIs1toxvX!Fo-JR_$ znz)iJZ^dxQ^>#&$fyoqqo$E$Leyv!96A5FqK<%GUyE`ZI9YEP8 z@K{Owfkg$?L=g<=`Zkc)_BPnZz`R6?zs%XE?2_6T{_=(s4Fb~a;09j41 zr45hL+UY~INR$0xo|+|ZyHyu-sr3$*8PK)fer}O;TICu7)u8#7R;Wjk96d6gJ8Rx% zsf(v?dQ!yE&O>UHIM@h}|Avzi%Gfhgu2Zy@cJ3URFT&&-<8 zteRlY>*Ku8Hpb*hA#EFyM~Le$q|K0vS@T0j9TbPXlZcIAWq5ez#K93lkS9eCd}9xe z2#zd%XWl#^5?BAG<@-SM%)Ocpw1iNKjMi^jE`3OmF3hdwB|;x`O+;`oGZ9Q0%S$}y zspJi*>D38rKLdu?l)yfRC@zGKn1T)B9@uyO!%k4It`&^PXy-?+%Se#U54OTH9xn_O z)5q(w@Jtd;&?F)?Nubh;d$tW)jyAx>S#XjUcVm}0a!~LFgAHRRz z6=H@dbjBQTt*T$5FH1yPY+0he^HdEfHU>J0_<&KHlYq!IWc0?rVGB^IzSLQFu$MveEZ z`HBt$xQ}cXiDk4bfuif+zyZesYKA7rxI_j-$O;L%z~#qCT7t&LA8z*=r`D>B_`6S_ za0nSuLJ&4?@F`lsgF=VnK~k`BJos4|0f;-SMHfQg%AqCePW3wG6$ni18#YvS&;n?F zALlBC*-r{H!)C*fhy9Teveh}Qdzzz-<=X3x&V@t5mM5l{kI3<1d1c!1%Ai|l%qwB` z6p?EY>a9U>v6O~FzH4yI^(=F&`I#Z!J0}j{b1K3Ua!; zTK!H4%iCQiaYEdPJ$BcV(n4Z`_t^MMh{@2?8aCbo+?){Q2l)VpaUpX8Tkv)7tp2P5 zhS<1O*_|U~#{fqNogqg|VufCJ^a=Ct!WUFUb8FEQXqcmy*-2}}#R$nDW!@UG^T}dR z2(1yhrfXPzy$zx78*X3fgjgsi%~6XkaHrdZSt4*&koq|7YPp4b=B3th0~VxKn-{Fo z0p#^czcPPxn)Hk@Zp{9Xlk~&(!M--P`yFA7O+Qn((-0S2xOp!v!=I-(Z%H60QB#jc zFgS+Q8@8u04D;)@=Y1^2Ay$M~|A|4Z>9GF)-sv#Z$b3?`D5L{wwou3A&V|ttR1t%&=8_4n zIS)}Oenm9OA7`B{!TP8VZgB(HR2;}pv^m5OaA|s)AuMs;69NdHnCE(c{ijl)$1+MA zKoCl6`C&dNfG8=P&1I9MD`CzHT3Ghs_OU!i#n_UXO)eo-QegGJ&Z)0zC%ES6O=!ToxIs-pYANI~Px7}g@`6kFNU~_35TAWx{_u3@lmyX|(o@lc zB)fAYn&SI}_FSRT%Ob}V07Goe$VpE7hD}4`C5F(El^9(uZUY*WTsj&jd}Jw(9z1yb zyx;B4<6|6GFfbj75M7gHQ*0(eS@w;2_QWX`?j#vW?)diDy#2{*-up8H-_9!~-Q>dKxJ4@7A8H2ZbhCnRq_FHAC90CB)q7Y2BCPrr35Q zVT({23h1j&2hwv^3F%I*lFw>S(!4T$frt~ROL0UZ98(;4x@8IoO_!Bxe1zEGEn*CU ztxjzy0gUz{#(;niY$O2^9!8Ab+soYk8TrdH&?^R1{RVYo&D-Xnswd5`Y> z>@f_X9Qp|Pl$%}j`$|EI-!eSFjax zA-sraM-UKpsvhCWbf%k$lw=DR-yAc9~g?7B!S#ikz45ep}z zW+&^(qNHneF=|vB3#&`sOcwgw_3fmT&f>yzAcJHfwFJ5SWu72};9kjPQJOn6PZk_! zI+-pRrQp5dGD?vyP3&a-k;4Qxc1ic2;s;L6VJUV*mTbi#>T`Ay0<%VnBgQ=v=ZUi- z6B@D1n8?AN>5dLbA{cng&#`=bB8Z*+@etQLL<#Yin}SJmkV$3w+}K&H({>U(*Jm()R4bSFRoWp4Wd0X;c>hyyI8oFwV-9*vbr6E{5- zXS;UwJV;ag(7bWdB<@9 zG=wg=b}ZJGma45PzLPA8B`6ToAqYhQXx^_^2;|gd6||q`YQ2slFAK`Gn5$@k3@0B` zHwxd{3|r>Aj>K4#88j5DZ}}D*^QkG~+GQ6sN8B^-Mx;xGJ7&gP2{}W?TV+JMPcde1 z`&8*J%t*#?qjacI4$xUsd9h=tOpp+cRKtjV=*=4KgA>}W$YMxD`*d2XC^esqgUTVU zk56XJ&0pf^PpPj%kse3UL7&E~!W7HM{}gXFms<@KIMn6Gvd}huMra8&OQLjCwwhc1Dc8Z+*+MWASB!a9F)K?< zc5K8~o-`?i@Rfgpk~rQqBdCchK>a3*I#@B29iC>@Wnm*>O6NWIm>v4s{?pd_`n?)Bg}%AEdWnZ!S*v2<|()%yDt-kp?}f8eWEk zd>9<9i^B1S^(fkD2qN5NPU;@RuSHKKKnossbWAmPlwd>it?kRnUzQizF#_LpoH6L9v^+c(PO%omARq^_C<> z;w|~jO+%X0vR`e=)jn=RaDswF6!NZsiV-|EcmFeC#XxtR)Nt~Cf2CDjl9Dk(mi{(Z zY#Jhc_Cu0nvmc(a#Kp&DdNTB}CI&htyP|i2FhJ3j(&0-YL-e{l_Usw4He|kRI~R8c zog2FBZ12K-$Pq@2L4O8}m@>cmO1q8CFcua`_iDHid=!>|%l{~e9$~(lra8yvd1Q;c zZ+j$r{Ei^X?o>4xm5}KX?pwGYtlJx5lU@*1MA(UvE;#K{ZdNgv0NBO=l9yS3KT#{Q@be)8piB3%P?aVF61Gg=ORm=o?yD#i;_0@u`S%BF=}Iw zI-EWNX@l59Q`wn6c1)5hs(SHD=vNS^E(b=;Fcuzph_Uc`Gj&CD`0~iopDWV3a@6(a zwegzQx(@!vtSsH|oo#tzkWP9zpZi*;c_eqeO|p=AvA!=dLS(olcIB4qm+Cl|DlCJ4 zCOp%NMT&HTDW@Au4|d*-txmW<;ywLE6z%k%XXP176Dsv3Zt2ZeETxmT9;Q!!LRfJ6 zyWgL?Wyq+SWqVGHP;FEWVCZeZV8+MrQB`$-vUNz4#1~~q!!4Q-f-|IAWn>b%iTN!V zL5$PHjFS@bS8c&09F;o~eZ(xdmN3Lo1ux9EEwSKsCY#_#XeDi@?197lMiHI8G_7@HF@qk(Y+FJL@hdH7y#DlH zo^dWG83VtZUZ*26G5tcEFGz;tmur=xO>i~7W`vsXT72spgoVP3#H47GNaRca^bQKN zHsm|o%irco2PsyUa<$z89eK2wUc?uY1gRRb)%>m{Z!=IQ&WNN(se>Qn+tcJx*DM;V zk$JTQyIW9vz}{NIbMA=so~A*L^eMT}OgF~ta^17_m|bslB7HL`%Pu+5BP~@|utGP} zOFh=o2$`|5`H3VHo5+{FK!A{MS|P; zgsp1u>^s}usYebYNnFC_r_v2gMS=P*_no~0QBpQsl_T(J+tuUtjf}7(hcma%p|ar33xO`0H!>vbMJ1SY<9{g zqUDuN4c3{?$(3r!B34Z1W`9jG&^X~XhZrq!g2Uy#d=NOn#Ygd3^FV1#)ZMF+g@M{~ zJBAb_($<#-3*)q(rzGXw?gLl1==d4Ekw<<1HMgw zHP4mSGC)C~dlc0@rY$?^8OX0Wq;)@LVvK` zr#wc3i1k$TDVwSbh75J%&e`#ZS!{Z_rM_>$gx$pyesUI=m^Yc zV0Gi+S!%Q9A85Q?cZ6K$wXx4zETuX44MTdon10iQiA%VS3v2#@=op~6VV;wY^ zG$AeziaN)LeGCKv!3fq_HSe>uh?6u4bO>=X7#AXUj%o#F^qA?VxQSw+5@Sw|6^{ zGt_JZl4p#5ytaz81cY239o`=a(Sy!#!o=!w=Und*p60|*8C0`F)HTx(H_L3kp|OqZ ztogifY)?T^#F}I9JA~dMM5PDQ+~qwYFJwax?nJ|lDO@&z(w!?;u(=ExN#!o~aZw5_ zxm9Hr(l)$8%15h+JrnZM&&^Xe4bk2n%ESX!f>K2!eQq=*-TC(%!Rv949AuBj=4^@C zizpr7_I{3L`n`6(HKFWc=>=mNMBeT!dRx zUOjX`(MAHhI=O&VwmZCld^H2-^w*pru*BQeX5?(km=Q z%<$4=z`#J;=}RLcr1?%K&!1ydJ?`^atU`{F938x^=C?g@ zx)r(92QtuntKVXvKj=U9Y%rmoRIldQ8QT|0QVRF%F}L}kWrbi7Dq1W zW0Foo<{e%VMySlCFQw>?ZAVR87*2acFmJxX&HZ+X+1t>G4rf{DAPN8H=5p4Y^AWqe zHd}%UE;O5?!k1zZQk^E>-7LRBN~~LQ_9V1Hyy0+q*}6e!H`X$VrT+rqONe$=d^S$X zJ3F5%rbt3qO!1>`p;%eeQza}Q7dpcz)3~Iwa)@2uCgmW#BD1>Q)m(4MA7^0yKo{TR z-mtGbVhZBp$VZ(XJu&g&T{uaKb>V!%#EC+Uw>U#WgwiQ;>xr|xWZuS}D=D)}wr~zk zIJh4aqH`K`-+`}}E8~ix1&-=j6dd$q{!dq6K>L)RhVuz@Y0R>`G{N1 zM5v)~*N;2l?W3g_oNDc5<@(X(h!%^!Y?`q_wBG;)IF7UPI}*lC$%_N49o_lUX1mK_ z2!&WZR6SZfp^?q=%k^62WNE5I=PCrQL6XkVCm-!ohFLs^IiUn|SvFAt!fTGererHo zS+pWn%gs)EI-9CMMlC%`J*4ztDN81H_JEf?C{0^9!kMtXiRWxN%N_lE++WVToIQ2U zmZfsNT}2tNYto#yIkR*~U>=D*6)BII=yaeR>@T#F*nsx8ohG!yT~ew>qdL^m@*H-w zU2txz9&Mp)l`h4(1zF^=FsGFe6+&&l*-?apcIYfZ80K5r^MS)lB@onIT0(LQAQb+# zwFJ%VC(@kEsw@>-Aw5FuXs91#r5G#TWh>}f(Z(`y=xwKVbai>PEuN8cBD7rnTnx)p z8|xEMvWP8XTv%iSdYL}Eq?L71#0)V8c)1t(SZv8?8|;aba-UJ5(#Nn*DdR_;K!`&@ z;ZU&klj%X~I}BI2nC(ybvh(Ii3T}r~*X9WO9joth8vAftF=(8%t(gYphpAyjK zUlmnis6&MP#ZU`e0y`DYn3?^Q8y5OX$Ilb}=?nbjp;=@mx_lXR)mH3YID-YjdwSwJ z6=E^ZQ|x~1!iwZVFh9X6s+5~>)HMGf4G=cR=(af~{juy+I!IQ^M!kUzZMoiqyyItU zHnhBBTO!cyo}cCzgk?d(fM8l8;czM+sRhzUu!6Bpy4Ho46daL|qofo$7(IPU{#Lqh0-2QVS z89?}0<2)IQy;iPc_ke^Doch~5(^8-zwLK!0F<(BK7#+ebFWVP{6Z;_7uPY85Gc?}V zU;Zm*Cam!H>iwQ3QqjL9NhU*dI>tyQbC=J{7?YvLjJ?so@DiP3Klfbor;6QjQ}6Lb z$^t*c60l7O-A7mzcO6^Ca{Ix*$roJrCmn$(`9$m0rA}kH-N8T!VOK=@#O&TIgu*q! zhC|kx?P{yT%|Y_AEw>@CP$*UiE%?Hm@kKY>{m!?YY*|bQESL7(XM5JHDUOLxDT5$e zwWG&$PKC1Ik$HtB6#{P3v}&azQY49cKJ7`HiDT^L)DdscBNa{%@h~;5oYG%bR7*a9UPY z-Lw?2y%BQb@66JsA%6$RclHj;Sw&qCl9S(>*Jw9z$aP1!e0T7M^^C?*QJN^mET7=q z_Z*aZD4?}5e{K=-V5I-iH#e#&0y{@YtQ_|xv+oRJZYsEQVNr|#l zX4$@@?t;;UJb;af=}jbuCd~7^PECi}Yx-D31d#|e5oFTGj$~}j^KCz4Du?1AXDxT0 zdW1<&y$@U1VUE3={>~3&(1{7gfcjz8=mcV>yS};KS5woNH{zqDz*Fc}-n*c8i6B9}ckNgsybCOHIeNvg2ddxNKym`$HfN3Xdw$IrN? z5K?mgzo`JwbydLq!II9^ft{if>Q!B`H}eER-30t!a^j1WP<%aR@)UVNNm{I+{FbFE zBPTa}v|yZWKu{tiT1a{j1n9D@hHZ9!Q|B@z%r~6KqMYbLVa~R3)KVVsSkAUl(2M*- zDBRE}u=_sck|9fE$AXOs<1IvHHl{!JgFdkZq+1|KkuC5ageLH6qRheik79E2hY9Eq z9Xtd{P%1%oodM2T=1$+T3R)a68ph@JKXY`c!gY;+Q<@3No=Q;pJO zma=ohU|<&AlU0>d643Fy*p=slGyEXzSwB{m5(2-GlloV8{OtV&XpNKs>Ei18Gv|WDlQW$63&P>9;q0t%wUT@djkt~nqeBQs3 zQR4o)cZODF{9|4E)(mlrFW;RKvYNtz1V*Ii6%{wngThx%qeV zg{gz*&OylYBOiw6pd;EcO#*FBm19-J5|9QsWH#k21sKvK{nEV80*YBHH=-9q$o4*F`vkEX>x}&gf_sec)WbF z9ihHlxegH_u;SQHF4#K%HE_l-qRg2l+y3@fYT{|4oLX7H{_n zTUvX(v8&s&iZ`~Z?K!cl5}A4_BUAA<9hrJ*9GQx@i8`|bMy7HQ!tP(Uf>N<vD&k_d>-0mXU(^TB=s9PL`1#AvbIOkPTV|#fIWm|&40g#Kn^@H<5Dh&rLv`5 z*j$}nd^pssd5J(xoUdXyjK;C?UOw}be6Qyc4<{K`b^9OKmA);LI4~1mg`9N(I>a); zq?%V-Q9!2d6SBbKxT=sK)nB~29)Ctf=B+|4=RA3V6wu{}Dl!TRgdC&bw=Cpd-WLHP z?`r_dABTdoS5lV>g5%Ye`Gx;=ysqj&06|Gb`=WR;+dh76o}uu1j{x0f-8eGUyR?j- zm`_?rvA)r$B_=qxe+ahiqLfZ&icMi_M@T7hlM|cn?&rpns`KsiRnMfH?D=bZ4xQIb z`K{GVf77peh74g%M~Jf%aOuk- zb7cleO6iN?CyEMAOHn~#ITn9%H3A9EyQap2tkwSf=t4sMlOV?7(-qa4JG4JQ)mJS> zg3wxw_AW3)u<#={d$4h91l4$=(=fyZ?v+M}NMkoIRMNahW-`h=wBUBRR`O9SOpq~D zy-e{Qb>UDFb5PKa!XNmRERFJ7io2DN&rI;DtpD^9EVfYi=i`*#V}@= zZZyF{<7gt{9GdLbkTi>j5>^!P!NbU)AiOKxQ)nASfpp!vu+4XY5VZ>d-TAyTYf9!O zm`JLl@ONaGo=x#|IU>Tq-@}bH3^lx96wonD^LRmZxKr;G???;XaEhZePQbW$hUJjp zRES=%WvD4IKefHbm`{46*^RgnNw9+LfmG>FGj#(uL6fGCxntrW5s}`cEqG|wl-B$! z;y^n~24^wb1CvZN1VVfdWB$_uj1~N}RWJZ4=0P?{ng`Fg;bs{>YV31M7$)M1&i?; z7E1BZG%WG_E=l}depc3C&@#soUMZm{bD@{3fXFx#U2Xvnt`WfW5QH=a;g3c@2Jd8J z!5F?lQEgm47D4Irv3x}dnDj>AuG~luuiWlPK5zkLs-{P&tncAC?HJ9JU2Y`_%Mi!#yy)dz4cJgVUUByebtSHT?6CV zP~+`bVrNB6b`aTwYk!#MI~4ICL$0OmW{K)4ecvbN54xIciC9dw*IEiTi~wsQgw8LB z(_J;YZelmDoI>qW%zdbrDC=+^8OZMm*E9Uy-nn#I1G5ir!&)yvWDo=LCsK zFT)_Qng1(MVjtD{W8yjqVkDP^7RQOtoQtFqN&^~G0oQKE#~Gjp5p$25x*c%@d_4-c zC>rW)&@p^Sa81L?bdXp=X7-JFtdg&Lrh1S_^>65#{J`FJm~W)N4Oa7bJr}tM84Y1Y z51cPZilgeRo4E*n2Mf5%$ddviCHsmsElD0Z86(Z#CZ%DGtWjDv=>Yq0pe z3#Np}>Hk{X!A_pKT^nW~tQQtRr@XK(zQq_uyTD;ya6QO|K3mWy^|SNW@U9vkd_CAApv>I&=iIQUKu^2u^y54@h$M$_EArxB6Kawk{418e zfJyT7O-A^5RcnADrLVqV$mn%161)jXf^c7JmGDAAK2o7z{X6N?X>NDRd|uOe(d(r! zUKW%{vz$fR=nn2;npODCDVbCpC3+AH(wKKJY+oF!65@l(lGob^IXYHJ0XjA} z{0$7Ay!EZ}r+njv+$jx3JAe?F!(5NtEQAXilbR$Ozi+e97w^)PrV_hA+B~&0uD5THuw(e3tZY=B*MhmV`X}$b9tHDak*eNEn1X8x=*2eyyAN+c^BH$;P@k zeZg^C2xn}5B0Cb=dUTZ5Uzcz%Am+d7DY%V!kV_^;#7Gfm#Eor6I|Q1zj4Nvs#BPgtxq7Z?fQB z3eCE6thIbR_MwG%Ds&<<0yW#noYx07MuMy&L$j~$ux6VjpPC2v2IcO7_$BXwo~$kM zFB#+cC?(uLr^F4^&Vl1g=L$-I;=#h~&oO`Ixq{yAPHvbdeK&^WNx1ESl2fi!qrf9> z$PC%!f*jXVc+d6nuCr_^%xqLRtk(S+n_!RwC^F)sw8p_I0ol80`>oD=Q zmiA$#pVzTs8x6gzh~0Zxz1fn&Y~>q6N!ptV=MK^kdQ<&aX^Ib3a_tgJQua}Hwu~{6 zzEsjaVN87dU1hohJ5kD*7=yMZLN-X52tRCLfMdMjtca=t!=FG1%xgAN#+~nGSAIFD zePqpfd=sBBE_2^a-eV7vUN3)zDEHHx+)NZ&e}y7vGa*&o6K-?&9^8RBk3G7r3%std zz=G4aU`noC=wM>pAQdT=yV4TI%UQn}>dHm&JFfHLrK9CBL7{R!fNfsxa8sI$xA)@s zMRYN*e^QVqtdp!HBwk-dmL6*rknmm8ByPGPyTpLs6IOg2x3Wx+g7>Q_QOudQm-E;q2D!6gobY(bg?ew7ZR3^odDbWW~Ru}#`eq%Y%Ao-UacJc}j# zy^+p>DnEp316S{RFU~R-+qxq>P(ouzWC$=`O2fr?yu=Z;o%tieL&iF89VX;$CV7-? zMsoIw9ZF661~@pmGkczEi6zEfMWhJJ@}tWi|7-V7ZC&e_mO*Y?3NC}JK>$W|(v>%w z<}GQ0CwR$$Jq@IiqSPhD-R_eb)d_kmfJit(k)ov6!b5~cs?`B6Ra;QB*Skr`S-;Si z6IF>1@t%+P6PO2PU-K~?=Jis{ZB6d$2=SD=%-ecjH;JjE_E5W%+dJiqMZo?_7Av!A ze%qlM((Oh_Cyd}K@eS()$?HYJ2tfYSflMD;)-xdS*n0mTK@*${%)T>It7+mgYE5X$ zl}~@5#41n5SH^3GFCBM%NxzFnfUGd5pL6`>8#fZdCwqP|pC#34$J>Pb^*>v9UX$zp zCo2qpSea1nJ-Of}H7Viw&q`ow1cl4_QWxk2XSvbP4+BOV&{1F@jUvtkE+ml*C8<7n zlE^qDLrJ>r*_&+JhHfyxOuLd55Z z-HG#rkefMAFdY=m4BNM+X0NaNZsAKdJ!KU?87A{gg*83puHsR6e2%v!yCdYu?UZZv z?a_ftE)2Ewyf6*BRTA2%7>@a-hmJ6X`1ug}tKtTpc>h&Ck z%k>B#mT*X4s#sM7#U^~c9oW5sm}4qBAe*1-PxFc1ZQ)NL?f5DGG&ep+dI?)fF+$C+ z&Tl2Z`Yzk3TbuJ%R@=ucmCzUA)WkOanR#p)LLh1THaM&OK+IHxs7Fhfsorf71pQhM z1|0!Hl@a)!(!WvnOX#C0xkMav^U>!zCQWVnS*{U9k)Qj`TNHp#H~@)j8u^xQ0$pv( z{rklflj1cnX&h=`k5XupzTg+ZMruy!RfM_5(Kh}o0vTtb3„e@&b^vDFaBb>)M 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

eI48C{w2Q^&d75rt28ou z%pE`fLdL%%s~`^xXXIDq{QX~G_L$4>hMK*!u2qot4QJ$`a;1?kmuv2yr7^cmt%kgO zI3w>V=kH$tv&UTjqn1wl|0Zm!8uBgSjJ#wmpS+Y@v;T9Eab9E<*Il+lWXRmh`Ez$HRLj!kq66_M!rz4nZGgSHmTK+HxFmz z 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

V5=4bv;{P(ss#lN7j{b8`8vmeX!RC6XjHl=y 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 z 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 + + +<% global.toMont_a = function () { +return ( +` push rdi + mov rdi, rsi + mov rsi, rdx + call ${name}_toMontgomery + mov rdx, rsi + mov rsi, rdi + pop rdi`); +} %> + +<% global.toMont_b = function() { +return ( +` push rdi + mov rdi, rdx + call ${name}_toMontgomery + mov rdx, rdi + pop rdi`); +} %> + +<% global.fromMont_a = function () { +return ( +` push rdi + mov rdi, rsi + mov rsi, rdx + call ${name}_toNormal + mov rdx, rsi + mov rsi, rdi + pop rdi`); +} %> + +<% global.fromMont_b = function() { +return ( +` push rdi + mov rdi, rdx + call ${name}_toNormal + mov rdx, rdi + pop rdi`); +} %> + +<% global.toLong_a = function () { +return ( +` push rdi + push rdx + mov rdi, rsi + movsx rsi, r8d + call rawCopyS2L + mov rsi, rdi + pop rdx + pop rdi`); +} %> + +<% global.toLong_b = function() { +return ( +` push rdi + push rsi + mov rdi, rdx + movsx rsi, r9d + call rawCopyS2L + mov rdx, rdi + pop rsi + pop rdi`); +} %> + + diff --git a/c/calcwit.cpp b/c/calcwit.cpp index a85af31..0c50fe5 100644 --- a/c/calcwit.cpp +++ b/c/calcwit.cpp @@ -141,7 +141,7 @@ void Circom_CalcWit::freeBigInts(PBigInt bi, int n) { void Circom_CalcWit::getSignal(int currentComponentIdx, int cIdx, int sIdx, PBigInt value) { // syncPrintf("getSignal: %d\n", sIdx); - if (currentComponentIdx != cIdx) { + if ((circuit->components[cIdx].newThread)&&(currentComponentIdx != cIdx)) { std::unique_lock lk(mutexes[cIdx % NMUTEXES]); while (inputSignalsToTrigger[cIdx] != -1) { cvs[cIdx % NMUTEXES].wait(lk); diff --git a/c/main.cpp b/c/main.cpp index 1f77b34..55ef180 100644 --- a/c/main.cpp +++ b/c/main.cpp @@ -189,6 +189,8 @@ int main(int argc, char *argv[]) { ctx->join(); + printf("Finished!\n"); + std::string outfilename = argv[2]; if (hasEnding(outfilename, std::string(".bin"))) { diff --git a/cli.js b/cli.js index 937db48..e2d8528 100755 --- a/cli.js +++ b/cli.js @@ -35,6 +35,7 @@ const argv = require("yargs") .alias("c", "csource") .alias("s", "sym") .alias("r", "r1cs") + .alias("n", "newThreadTemplates") .help("h") .alias("h", "help") .option("verbose", { @@ -83,6 +84,9 @@ if (argv.r1cs) { if (argv.sym) { options.symWriteStream = fs.createWriteStream(symName); } +if (argv.newThreadTemplates) { + options.newThreadTemplates = new RegExp(argv.newThreadTemplates); +} compiler(fullFileName, options).then( () => { let cSourceDone = false; diff --git a/package-lock.json b/package-lock.json index a0a0f41..c61bcc0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -305,6 +305,11 @@ "integrity": "sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE=", "dev": true }, + "ejs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.1.tgz", + "integrity": "sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw==" + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -533,6 +538,21 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, + "fflib": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/fflib/-/fflib-0.0.2.tgz", + "integrity": "sha512-TvQ3nQjJwdyrFBZAz+GTWz1mv9hHwRiQmZX3T2G0P+cBAlyw42lm4W62i+Ofj1ZOW1XNrEEhFhxHPnutTsJBwA==", + "requires": { + "big-integer": "^1.6.48" + }, + "dependencies": { + "big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" + } + } + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", diff --git a/package.json b/package.json index b5af9ab..25ae4ff 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,8 @@ }, "dependencies": { "big-integer": "^1.6.32", + "ejs": "^3.0.1", + "fflib": "0.0.2", "fnv-plus": "^1.3.1", "optimist": "^0.6.1", "rimraf-promise": "^2.0.0", diff --git a/src/c_build.js b/src/c_build.js index da2f27d..d302909 100644 --- a/src/c_build.js +++ b/src/c_build.js @@ -204,8 +204,18 @@ function buildComponentsArray(ctx) { const ccodes = []; ccodes.push(`Circom_Component _components[${ctx.components.length}] = {\n`); for (let i=0; i< ctx.components.length; i++) { + let newThread; + if (ctx.newThreadTemplates) { + if (ctx.newThreadTemplates.test(ctx.components[i].template)) { + newThread = "true"; + } else { + newThread = "false"; + } + } else { + newThread = "false"; + } ccodes.push(i>0 ? " ," : " "); - ccodes.push(`{${ctx.components[i].htName},${ctx.components[i].etName},${ctx.components[i].fnName}, ${ctx.components[i].nInSignals}, true}\n`); + ccodes.push(`{${ctx.components[i].htName},${ctx.components[i].etName},${ctx.components[i].fnName}, ${ctx.components[i].nInSignals}, ${newThread}}\n`); } ccodes.push("};\n"); const codeComponents = ccodes.join(""); diff --git a/src/compiler.js b/src/compiler.js index b1e64f1..6714d8e 100644 --- a/src/compiler.js +++ b/src/compiler.js @@ -41,7 +41,7 @@ async function compile(srcFile, options) { ctx.field = new ZqField(options.p); ctx.verbose= options.verbose || false; ctx.mainComponent = options.mainComponent || "main"; - + ctx.newThreadTemplates = options.newThreadTemplates; constructionPhase(ctx, srcFile); diff --git a/src/construction_phase.js b/src/construction_phase.js index 43d445f..1d33da6 100644 --- a/src/construction_phase.js +++ b/src/construction_phase.js @@ -558,7 +558,7 @@ function execFunctionCall(ctx, ast) { if (ast.name == "log") { const v = exec(ctx, ast.params[0]); const ev = val(ctx, v, ast); - console.log(ev.toString()); + console.log(ev.v.toString()); return; } if (ast.name == "assert") { @@ -691,7 +691,7 @@ function execPin(ctx, ast) { } const sIdx = ctx.components[cIdx].names.getSignalIdx(ast.pin.name, selsP); - if (sIdx<0) ctx.throwError(ast, "Signal not defined:" + buildFullName() ); + if (sIdx<0) return ctx.throwError(ast, "Signal not defined:" + buildFullName() ); return { t: "S", sIdx: sIdx, diff --git a/test/fieldasm.js b/test/fieldasm.js new file mode 100644 index 0000000..2f9437b --- /dev/null +++ b/test/fieldasm.js @@ -0,0 +1,322 @@ +const tester = require("../c/buildasm/buildzqfieldtester.js"); + +const ZqField = require("fflib").ZqField; + +const bigInt = require("big-integer"); + +const bn128q = new bigInt("21888242871839275222246405745257275088696311157297823662689037894645226208583"); +const bn128r = new bigInt("21888242871839275222246405745257275088548364400416034343698204186575808495617"); +const secp256k1q = new bigInt("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", 16); +const secp256k1r = new bigInt("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16); +const mnt6753q = new bigInt("41898490967918953402344214791240637128170709919953949071783502921025352812571106773058893763790338921418070971888458477323173057491593855069696241854796396165721416325350064441470418137846398469611935719059908164220784476160001"); +const mnt6753r = new bigInt("41898490967918953402344214791240637128170709919953949071783502921025352812571106773058893763790338921418070971888253786114353726529584385201591605722013126468931404347949840543007986327743462853720628051692141265303114721689601"); + +describe("field asm test", function () { + this.timeout(1000000000); +/* + it("bn128r add", async () => { + const tv = buildTestVector2(bn128r, "add"); + await tester(bn128r, tv); + }); + it("secp256k1q add", async () => { + const tv = buildTestVector2(secp256k1q, "add"); + await tester(secp256k1q, tv); + }); + it("mnt6753q add", async () => { + const tv = buildTestVector2(mnt6753q, "add"); + await tester(mnt6753q, tv); + }); + it("bn128r sub", async () => { + const tv = buildTestVector2(bn128r, "sub"); + await tester(bn128r, tv); + }); + it("secp256k1q sub", async () => { + const tv = buildTestVector2(secp256k1q, "sub"); + await tester(secp256k1q, tv); + }); + it("mnt6753q sub", async () => { + const tv = buildTestVector2(mnt6753q, "sub"); + await tester(mnt6753q, tv); + }); + + it("bn128r neg", async () => { + const tv = buildTestVector1(bn128r, "neg"); + await tester(bn128r, tv); + }); + it("secp256k1q neg", async () => { + const tv = buildTestVector1(secp256k1q, "neg"); + await tester(secp256k1q, tv); + }); + it("mnt6753q neg", async () => { + const tv = buildTestVector1(mnt6753q, "neg"); + await tester(mnt6753q, tv); + }); + it("bn128r mul", async () => { + const tv = buildTestVector2(bn128r, "mul"); + await tester(bn128r, tv); + }); + it("secp256k1q mul", async () => { + const tv = buildTestVector2(secp256k1q, "mul"); + await tester(secp256k1q, tv); + }); + it("mnt6753q mul", async () => { + const tv = buildTestVector2(mnt6753q, "mul"); + await tester(mnt6753q, tv); + }); + it("bn128r binary and", async () => { + const tv = buildTestVector2(bn128r, "band"); + await tester(bn128r, tv); + }); + it("secp256k1q binary and", async () => { + const tv = buildTestVector2(secp256k1q, "band"); + await tester(secp256k1q, tv); + }); + it("mnt6753q binary and", async () => { + const tv = buildTestVector2(mnt6753q, "band"); + await tester(mnt6753q, tv); + }); + it("bn128r binary or", async () => { + const tv = buildTestVector2(bn128r, "bor"); + await tester(bn128r, tv); + }); + + it("secp256k1q binary or", async () => { + const tv = buildTestVector2(secp256k1q, "bor"); + await tester(secp256k1q, tv); + }); + it("mnt6753q binary or", async () => { + const tv = buildTestVector2(mnt6753q, "bor"); + await tester(mnt6753q, tv); + }); + it("bn128r binary xor", async () => { + const tv = buildTestVector2(bn128r, "bxor"); + await tester(bn128r, tv); + }); + it("secp256k1q binary xor", async () => { + const tv = buildTestVector2(secp256k1q, "bxor"); + await tester(secp256k1q, tv); + }); + it("mnt6753q binary xor", async () => { + const tv = buildTestVector2(mnt6753q, "bxor"); + await tester(mnt6753q, tv); + }); + it("bn128r eq", async () => { + const tv = buildTestVector2(bn128r, "eq"); + await tester(bn128r, tv); + }); + it("secp256k1q eq", async () => { + const tv = buildTestVector2(secp256k1q, "eq"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q eq", async () => { + const tv = buildTestVector2(mnt6753q, "eq"); + await tester(mnt6753q, tv); + }); +/* + it("bn128r neq", async () => { + const tv = buildTestVector2(bn128r, "neq"); + await tester(bn128r, tv); + }); + it("secp256k1q neq", async () => { + const tv = buildTestVector2(secp256k1q, "neq"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q neq", async () => { + const tv = buildTestVector2(mnt6753q, "neq"); + await tester(mnt6753q, tv); + }); +/* + it("bn128r lt", async () => { + const tv = buildTestVector2(bn128r, "lt"); + await tester(bn128r, tv); + }); + it("secp256k1q lt", async () => { + const tv = buildTestVector2(secp256k1q, "lt"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q lt", async () => { + const tv = buildTestVector2(mnt6753q, "lt"); + await tester(mnt6753q, tv); + }); +/* + it("bn128r gt", async () => { + const tv = buildTestVector2(bn128r, "gt"); + await tester(bn128r, tv); + }); + it("secp256k1q gt", async () => { + const tv = buildTestVector2(secp256k1q, "gt"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q gt", async () => { + const tv = buildTestVector2(mnt6753q, "gt"); + await tester(mnt6753q, tv); + }); +/* + it("bn128r leq", async () => { + const tv = buildTestVector2(bn128r, "leq"); + await tester(bn128r, tv); + }); + it("secp256k1q leq", async () => { + const tv = buildTestVector2(secp256k1q, "leq"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q leq", async () => { + const tv = buildTestVector2(mnt6753q, "leq"); + await tester(mnt6753q, tv); + }); +/* + it("bn128r geq", async () => { + const tv = buildTestVector2(bn128r, "geq"); + await tester(bn128r, tv); + }); + it("secp256k1q geq", async () => { + const tv = buildTestVector2(secp256k1q, "geq"); + await tester(secp256k1q, tv); + }); +*/ + it("mnt6753q geq", async () => { + const tv = buildTestVector2(mnt6753q, "geq"); + await tester(mnt6753q, tv); + }); +}); + +function buildTestVector2(p, op) { + const F = new ZqField(p); + const tv = []; + const nums = getCriticalNumbers(p, 2); + + const excludeZero = ["div", "mod"].indexOf(op) >= 0; + + for (let i=0; i= 0; + + for (let i=0; i

~p%E&o= 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 literal 0 HcmV?d00001 diff --git a/c/buildasm/tester.cpp b/c/buildasm/tester.cpp new file mode 100644 index 0000000..04d2d83 --- /dev/null +++ b/c/buildasm/tester.cpp @@ -0,0 +1,209 @@ +#include +#include + +#include +#include +#include +#include +#include + +#include /* printf, NULL */ +#include +#include + + +#include "fr.h" + + +typedef void (*Func1)(PFrElement, PFrElement); +typedef void (*Func2)(PFrElement, PFrElement, PFrElement); +typedef void *FuncAny; + +typedef struct { + FuncAny fn; + int nOps; +} FunctionSpec; + +std::map functions; +std::vector stack; + +void addFunction(std::string name, FuncAny f, int nOps) { + FunctionSpec fs; + fs.fn = f; + fs.nOps = nOps; + functions[name] = fs; +} + +void fillMap() { + addFunction("add", (FuncAny)Fr_add, 2); + addFunction("sub", (FuncAny)Fr_sub, 2); + addFunction("neg", (FuncAny)Fr_neg, 1); + addFunction("mul", (FuncAny)Fr_mul, 2); + addFunction("band", (FuncAny)Fr_band, 2); + addFunction("bor", (FuncAny)Fr_bor, 2); + addFunction("bxor", (FuncAny)Fr_bxor, 2); + addFunction("eq", (FuncAny)Fr_eq, 2); + addFunction("neq", (FuncAny)Fr_neq, 2); + addFunction("lt", (FuncAny)Fr_lt, 2); + addFunction("gt", (FuncAny)Fr_gt, 2); + addFunction("leq", (FuncAny)Fr_leq, 2); + addFunction("geq", (FuncAny)Fr_geq, 2); +} + +u_int64_t readInt(std::string &s) { + if (s.rfind("0x", 0) == 0) { + return std::stoull(s.substr(2), 0, 16); + } else { + return std::stoull(s, 0, 10); + } +} + +void pushNumber(std::vector &v) { + u_int64_t a; + if ((v.size()<1) || (v.size() > (Fr_N64+1))) { + printf("Invalid Size: %d - %d \n", v.size(), Fr_N64); + throw std::runtime_error("Invalid number of parameters for number"); + } + FrElement e; + a = readInt(v[0]); + *(u_int64_t *)(&e) = a; + for (int i=0; i tokens; + + std::copy(begin, end, std::back_inserter(tokens)); + + // Remove initial empty tokens + while ((tokens.size() > 0)&&(tokens[0] == "")) { + tokens.erase(tokens.begin()); + } + + // Empty lines are valid but are not processed + if (tokens.size() == 0) return; + + auto search = functions.find(tokens[0]); + if (search == functions.end()) { + pushNumber(tokens); + } else { + if (tokens.size() != 1) { + throw std::runtime_error("Functions does not accept parameters"); + } + callFunction(search->second); + } +} + +int main(void) +{ + fillMap(); + std::string line; + int i=0; + while (std::getline(std::cin, line)) { + processLine(line); + // if (i%1000 == 0) printf("%d\n", i); + // printf("%d\n", i); + i++; + } + // Print the elements in the stack + // + for (int i=0; i +#include +#include "fr.h" + +typedef void (*Func2)(PFrElement, PFrElement, PFrElement); + +typedef struct { + const char *fnName; + Func2 fn; +} FN; + + +#define NFN 2 +FN fns[NFN] = { + {"add", Fr_add}, + {"mul", Fr_mul}, +}; + +int main(int argc, char **argv) { + + if (argc <= 1) { + fprintf( stderr, "invalid number of parameters"); + return 1; + } + + for (int i=0; i< NFN;i++) { + if (strcmp(argv[1], fns[i].fnName) == 0) { + if (argc != 4) { + fprintf( stderr, "invalid number of parameters"); + return 1; + } + FrElement a; + FrElement b; + + Fr_str2element(&a, argv[2]); + Fr_str2element(&b, argv[3]); + FrElement c; + fns[i].fn(&c, &a, &b); + + char *s; + s = Fr_element2str(&c); + printf("%s", s); + free(s); + return 0; + } + } + fprintf( stderr, "invalid operation %s", argv[1]); + return 1; +} + +*/ diff --git a/c/buildasm/tester.dSYM/Contents/Info.plist b/c/buildasm/tester.dSYM/Contents/Info.plist new file mode 100644 index 0000000..c78a483 --- /dev/null +++ b/c/buildasm/tester.dSYM/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleIdentifier + com.apple.xcode.dsym.tester + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + dSYM + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/c/buildasm/tester.dSYM/Contents/Resources/DWARF/tester b/c/buildasm/tester.dSYM/Contents/Resources/DWARF/tester new file mode 100644 index 0000000000000000000000000000000000000000..1f72fd439924a0efa56451f3a940078dc13ff4a0 GIT binary patch literal 2484053 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