From 66b84a854c82fa960600ea7b1858db5b72f3c128 Mon Sep 17 00:00:00 2001 From: Sam Symons Date: Fri, 4 Nov 2022 14:08:23 -0700 Subject: [PATCH 01/14] Add GitHub Actions support (#18) Task/Issue URL: https://app.asana.com/0/903182762228930/903861304087285/f Tech Design URL: CC: Description: This PR adds GitHub Actions support, running on Linux, macOS, and Windows. This also fixes test suite compilation on M1 Macs, as there was a hardcoded path to the Intel Homebrew install location. --- .github/workflows/pr.yml | 24 ++++++++++++++++++++++++ run_test.sh | 10 ++++++---- utils/CMakeLists.txt | 17 ++++++++--------- 3 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/pr.yml diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 0000000..32bdbae --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,24 @@ +name: PR Checks + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "develop" ] + +jobs: + unit-tests: + name: Unit Tests + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Run tests + run: ./run_test.sh + shell: bash diff --git a/run_test.sh b/run_test.sh index c703e47..0352699 100755 --- a/run_test.sh +++ b/run_test.sh @@ -1,4 +1,6 @@ -directory=`dirname $0` -mkdir $directory/build; -(cd $directory/build; cmake ..; make all;) -$directory/build/test/RunTests \ No newline at end of file +#!/usr/bin/env bash + +directory=$(dirname "$0") +mkdir "$directory"/build; +(cd "$directory"/build || exit; cmake ..; make all;) +"$directory"/build/test/RunTests diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index ff64c2d..354409a 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -1,15 +1,14 @@ cmake_minimum_required(VERSION 3.5) if(APPLE) - include_directories(/usr/local/opt/openssl/include) - link_directories(/usr/local/opt/openssl/lib) + if(EXISTS /usr/local/opt/openssl/) + set(OPENSSL_ROOT_DIR /usr/local/opt/openssl) + elseif(EXISTS /opt/homebrew/opt/openssl@1.1/) + set(OPENSSL_ROOT_DIR /opt/homebrew/opt/openssl@1.1) + endif() endif() -link_libraries(crypto) -add_executable (GenerateFilter GenerateFilter.cpp) +find_package (OpenSSL REQUIRED) -if(APPLE) - target_link_libraries (GenerateFilter LINK_PUBLIC BloomFilter crypto) -else() - target_link_libraries (GenerateFilter LINK_PUBLIC BloomFilter) -endif() \ No newline at end of file +add_executable (GenerateFilter GenerateFilter.cpp) +target_link_libraries (GenerateFilter LINK_PUBLIC BloomFilter OpenSSL::Crypto) From d1a4bbf3c58dfa9f5c80746ffe36493e41b6b475 Mon Sep 17 00:00:00 2001 From: Christopher Brind Date: Mon, 28 Nov 2022 02:13:08 +0000 Subject: [PATCH 02/14] Make swift package #19 --- .github/workflows/pr.yml | 7 ++++++- .gitignore | 4 +++- Package.swift | 27 +++++++++++++++++++++++++++ src/CMakeLists.txt | 11 +++++++++-- src/{ => include}/BloomFilter.hpp | 0 src/include/module.modulemap | 5 +++++ test-bloom-filter.bin | Bin 0 -> 9186 bytes 7 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 Package.swift rename src/{ => include}/BloomFilter.hpp (100%) create mode 100644 src/include/module.modulemap create mode 100644 test-bloom-filter.bin diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 32bdbae..461eda6 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -19,6 +19,11 @@ jobs: with: submodules: recursive - - name: Run tests + - name: Run CPP tests run: ./run_test.sh shell: bash + + - name: Run Swift build + run: | + swift build + diff --git a/.gitignore b/.gitignore index 5b2da3c..af7a3cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .idea +.swiftpm +.build cmake-build-debug -build \ No newline at end of file +build diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..98fbb22 --- /dev/null +++ b/Package.swift @@ -0,0 +1,27 @@ +// swift-tools-version:5.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription +import Foundation + +let package = Package( + name: "BloomFilter", + platforms: [ + .iOS("14.0"), + .macOS("10.15") + ], + products: [ + .library(name: "BloomFilter", targets: ["BloomFilter"]), + ], + dependencies: [ + ], + targets: [ + .target( + name: "BloomFilter", + path: "src", + resources: [ + .process("CMakeLists.txt") + ]), + ], + cxxLanguageStandard: .cxx11 +) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 75e1fe8..eb332b8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,11 @@ cmake_minimum_required(VERSION 3.5) -add_library(BloomFilter BloomFilter.hpp BloomFilter.cpp) -target_include_directories(BloomFilter PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file +add_library(BloomFilter + include/BloomFilter.hpp + BloomFilter.cpp +) + +target_include_directories(BloomFilter + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/include +) diff --git a/src/BloomFilter.hpp b/src/include/BloomFilter.hpp similarity index 100% rename from src/BloomFilter.hpp rename to src/include/BloomFilter.hpp diff --git a/src/include/module.modulemap b/src/include/module.modulemap new file mode 100644 index 0000000..af7a916 --- /dev/null +++ b/src/include/module.modulemap @@ -0,0 +1,5 @@ +module BloomFilter { + header "BloomFilter.hpp" + export * +} + diff --git a/test-bloom-filter.bin b/test-bloom-filter.bin new file mode 100644 index 0000000000000000000000000000000000000000..57a716579c8d479891ed430a86abdda29f5224dd GIT binary patch literal 9186 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 P2uqShUuS= Date: Mon, 28 Nov 2022 13:50:29 +0000 Subject: [PATCH 03/14] Revert "Make swift package #19" (#20) This reverts commit d1a4bbf3c58dfa9f5c80746ffe36493e41b6b475. --- .github/workflows/pr.yml | 7 +------ .gitignore | 4 +--- Package.swift | 27 --------------------------- src/{include => }/BloomFilter.hpp | 0 src/CMakeLists.txt | 11 ++--------- src/include/module.modulemap | 5 ----- test-bloom-filter.bin | Bin 9186 -> 0 bytes 7 files changed, 4 insertions(+), 50 deletions(-) delete mode 100644 Package.swift rename src/{include => }/BloomFilter.hpp (100%) delete mode 100644 src/include/module.modulemap delete mode 100644 test-bloom-filter.bin diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 461eda6..32bdbae 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -19,11 +19,6 @@ jobs: with: submodules: recursive - - name: Run CPP tests + - name: Run tests run: ./run_test.sh shell: bash - - - name: Run Swift build - run: | - swift build - diff --git a/.gitignore b/.gitignore index af7a3cd..5b2da3c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ .idea -.swiftpm -.build cmake-build-debug -build +build \ No newline at end of file diff --git a/Package.swift b/Package.swift deleted file mode 100644 index 98fbb22..0000000 --- a/Package.swift +++ /dev/null @@ -1,27 +0,0 @@ -// swift-tools-version:5.3 -// The swift-tools-version declares the minimum version of Swift required to build this package. - -import PackageDescription -import Foundation - -let package = Package( - name: "BloomFilter", - platforms: [ - .iOS("14.0"), - .macOS("10.15") - ], - products: [ - .library(name: "BloomFilter", targets: ["BloomFilter"]), - ], - dependencies: [ - ], - targets: [ - .target( - name: "BloomFilter", - path: "src", - resources: [ - .process("CMakeLists.txt") - ]), - ], - cxxLanguageStandard: .cxx11 -) diff --git a/src/include/BloomFilter.hpp b/src/BloomFilter.hpp similarity index 100% rename from src/include/BloomFilter.hpp rename to src/BloomFilter.hpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eb332b8..75e1fe8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,11 +1,4 @@ cmake_minimum_required(VERSION 3.5) -add_library(BloomFilter - include/BloomFilter.hpp - BloomFilter.cpp -) - -target_include_directories(BloomFilter - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}/include -) +add_library(BloomFilter BloomFilter.hpp BloomFilter.cpp) +target_include_directories(BloomFilter PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) \ No newline at end of file diff --git a/src/include/module.modulemap b/src/include/module.modulemap deleted file mode 100644 index af7a916..0000000 --- a/src/include/module.modulemap +++ /dev/null @@ -1,5 +0,0 @@ -module BloomFilter { - header "BloomFilter.hpp" - export * -} - diff --git a/test-bloom-filter.bin b/test-bloom-filter.bin deleted file mode 100644 index 57a716579c8d479891ed430a86abdda29f5224dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9186 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 P2uqShUuS= Date: Sun, 19 Mar 2023 00:28:42 +0100 Subject: [PATCH 04/14] Add Swift Package --- Package.swift | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 Package.swift diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..06ca80b --- /dev/null +++ b/Package.swift @@ -0,0 +1,20 @@ +// swift-tools-version:5.7 +import PackageDescription + +let package = Package( + name: "BloomFilter", + platforms: [ + .iOS("14.0"), + .macOS("10.15") + ], + products: [ + .library(name: "BloomFilter", targets: ["BloomFilter"]), + ], + targets: [ + .target( + name: "BloomFilter", + path: ".", + sources: ["BloomFilter.cpp"]), + ], + cxxLanguageStandard: .cxx11 +) \ No newline at end of file From d0da0e2b6047e042e632c24ea75233594140c835 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 00:52:21 +0100 Subject: [PATCH 05/14] Add publicHeadersPath entry --- Package.swift | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Package.swift b/Package.swift index 06ca80b..efe3c4c 100644 --- a/Package.swift +++ b/Package.swift @@ -1,20 +1,27 @@ -// swift-tools-version:5.7 +// swift-tools-version: 5.7 +// The swift-tools-version declares the minimum version of Swift required to build this package. + import PackageDescription let package = Package( name: "BloomFilter", platforms: [ - .iOS("14.0"), - .macOS("10.15") + .iOS(.v14), + .macOS(.v10_15) ], products: [ - .library(name: "BloomFilter", targets: ["BloomFilter"]), + .library( + name: "BloomFilter", + targets: ["BloomFilter"] + ), ], targets: [ .target( name: "BloomFilter", - path: ".", - sources: ["BloomFilter.cpp"]), + path: "src", + sources: ["BloomFilter.cpp"], + publicHeadersPath: "." + ) ], cxxLanguageStandard: .cxx11 -) \ No newline at end of file +) From e96a1e6d82cf642c74f2f039a6e5a77a646ca284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 00:52:32 +0100 Subject: [PATCH 06/14] Add publicHeadersPath entry --- .../contents.xcworkspacedata | 7 ++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 15579 bytes .../xcschemes/xcschememanagement.plist | 22 ++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata create mode 100644 .swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 .swiftpm/xcode/xcuserdata/jaceklyp.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..c7a0a10919c66d607f1c638efbf7a04777b8117e GIT binary patch literal 15579 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 + + + + SchemeUserState + + BloomFilter.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + BloomFilter + + primary + + + + + From 0dc3b09ae8ab795419310083ac3b87da60097e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 00:53:22 +0100 Subject: [PATCH 07/14] Add .swiftpm to gitignore --- .gitignore | 3 ++- .../UserInterfaceState.xcuserstate | Bin 15579 -> 15579 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5b2da3c..84e4246 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea cmake-build-debug -build \ No newline at end of file +build +.swiftpm \ No newline at end of file diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate index c7a0a10919c66d607f1c638efbf7a04777b8117e..17a17b939a1c8ce47d97ff8aaaeaa4bc91ebf07d 100644 GIT binary patch delta 199 zcmcazdAoALLB=H;53OO>iq6T*OZCi4Nv%jNj!Vf;F3nBNEAdIqOE1Z|#K6bE&#;K0 zX+eX!AXDPx860-(a~S3}=r!nXzRMBC#5a@SU4u@8`yz%p3?CcxCO2{mPmbVLVFmLx zH*%lmVNu%eI(2h^#4{fLnT?DL4LXY$<}$iB=r_bpzN;lMIaXDKb#6l}(6}TJ53OO>ic85)F3nBNEAdIqOE1ZY&dJP6^~_62tw=2vWJ Date: Sun, 19 Mar 2023 01:06:29 +0100 Subject: [PATCH 08/14] Add header file to the sources --- .../UserInterfaceState.xcuserstate | Bin 15579 -> 23127 bytes Package.swift | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate index 17a17b939a1c8ce47d97ff8aaaeaa4bc91ebf07d..5390ca35f84bb7e270e979c491655f4c7e5a1bb9 100644 GIT binary patch literal 23127 zcmeHvcR*8D`~Nw2gcw%XVJQ-ZgOP*~!iXdx1Dq(}R*Voa3Is_|akS@ZhuynY+gd^E zs@6KHwzb+lwC$_7wbs_w4z+s^?eDqwCJeQ<@AvzDe}BCqB=_F4&vTyhJfG)t&(x-R zm&dD89Yz>Yh(-)zkpu-G+1QlX&SsCx-8e4A(Ofg#1y_|RUU$>j6!+8_&Kj>L9N}A5 zR?9<&R}68sI%`e7LJI8o>K^JL>S1arwTXI~ z+Dtt|ZK1YO+o>r}Ss^=kyo! zkMtk(pA5|~49oOlWK1*@!zh?oCXN}v3}iBxOeTxTW>icLqh<0KJu`?YX3R_pGl`kZ zR5Mc;2Q!taVQLvCGmWWZrZY2{dZvMCWacsR8N%Gc+{)a++{4_zU`6=b0Cn-OP*39%e7|HnWe}&%DDNWIkd(XTD^!SO@E5r?GYHOxDddv9s7_b~ZbY zUCiFj-ork?KFB`8KE`fmpJjKjJK0_AbL{i%3+!(8MRpJS3i~$uFZKX?oISyQ#GYk8 zWj|xTXMbRSWPf6Rme3ML!b&8P075 zFv)Pq2+26fc*z9G#Hy6WmiqcbC>VvHP$WkYD0RSGx*bKLD8i6$h`w4LS!S`0aW~KOG&yRV7I#fcgR{|FEl*LIw6+qp*_v6RF{v`O zxf)xhNp03=n&6u$->T8*bb5cqaVQn3HlTQvfD%z})CVP@z9<)&_^+yBHK$L+pQ5MQ3p+rtLk{8Gx@*cTBE|Rav*TewLGdDXOGn?G5 zMz6@a>-7IJ{kImg&HEO7*S{^p4rLn}_=ylHZj&jyO zcRUk?tj>y>>COfx6e?aqGKcb1);$L*j}yO{nwuSsbx>QQ*W#SoQdibE%?-&bob{le zowc3G6=Dm;e)tRHyV1)(xCUfIs&+I86_YR$-i}PjOd`mG{NQAct#Q{nvtR~?xV%|C z%g8Es);T;ao(gwMbB(hE(pAgTua|zPyUt&~ziK-ghEz|YQdEWpqakQ0i6k*3mc*09 zC(&>;0+pkYXcXx~29ZkQA`6M(5UK(>9F4}Hv1lAGiBno3bs=+0J@*le0N{YQ5XtP+im1lHdnpZ z*_<`Ksi^}^M3c~DR6Sl4?M6p~bFBE)>8ToC0Rz|$kEe_sUNJ)05xY06R%nFcf7b|T zSobnrLYZ;Za>Kvbv65kqna-ggXPzwYTyOUx8-*ehs^!{$qsUQKlVzAStD&}gNgko3 z-qmvbzfn@Tqh_X~&Y9(zC77IVOpj*)r_;x!=BLj#^_)(L5k_q1mVCjP_$8`y+D9BkJVXX)& zGvVro)7^81xf)#!j;3mP-)lbRWxm7>wh?rrTHfcHY04UByF9L`^-fs1SC>-nXmz)E zt#d&M@YWWjQC?k2O|!ecUeG{U?rGCJPS6Thm*nY|s@~NI?YVZBOfBB&?q;ay>c{+2 zx4G+UU5$0u8m&3aj;5hdvZq7X3m!qs+t4yHkYtP3kD=wO(c>@)PoO0v0|q_|ezWD# zawLxtSJN7_7FH~;w_4lL8Z<@fpY#oABZ_WAPZ3QU+C*~rO#{?#z1Jbm)6kxSuz*3L*w?MDN5w~=dbQn^afwuYv^@SNQ&Cg4)iQkrX%{QX)tD< zD=HOBeiyx0Esq#pF|5Vw01@b_VikIquf$*W0d$I&`h%zg9YTlE5p)zCL&wnxbdnSk zBQX&(DIpeOB{pIwr5n)uKB@l@eT2@!_fJ6T%Y0Hlgp`w!@O{*OrC!*&vplen|6@}B z9WV9Ylfize|B09SCE^dryZDpspVv$1PhPMulc8-GkzxN#urY%JcuCuaB_x*&2T8-d zK+;BBCD>u%pD2w3L@||z`0B)R3^p3bDGmoYt@!KQ{`9dp1!ND$;dq>Y6LD|c2Pfga zI2kKR6&X#&kg;SO8BZpViDVL)yaA_*vWNTQ0ldb=nIL=BKG}1SX)pvTQuklk`_IcB zE(F=bMP!Ok_Hgm_WDnbLDaanSlc{aEjMV%?*&Bw-McEqxvRBJX&nS>R=T)*NU$5Nz zjVOA4K^luEh=MmB1aJCZXZ5Fd;Cf#0rs5i0i=B8HuEW!@3(vqa$qX`+)RP9%NZh1} z%p%RivjI2w1aFqO)#DZrJg-miX8X4K`TrHX{{z8W%nRO4q{T0Iw_aE9?#B1>f_D#@ z(}wRObN`{>J%k?-1#c+`9&Euo@Ny8mc~=QunDj=!06l@*MS*Jrfm`s`S^VkO;cdLY zt;ZYiQ+OlZgrCNn@iTY}-b!vDHxfcPvWP4uH<6pkE#%e>c)L&FcH!sn^PuT=gTO8E z3EUmzUUDCNzyH4i_kSR8`*?xdPj2%I+yE4e+F}&z=F1yPKDvvmkQ!TrG0c?Mh>sZ=a?7b$)>_iqdxhr0;>h&h1bC z9sU`qR^#vS5BNv?6M2X%CCkX8tMM=RSNt3Pojgv~kac8z4;Pn0f@Ae?wOlhdb1rY6 zXV$yxz^m0*b@`?|TS=zAM3wfT8^O|Dhb%|WABp`1sqDo1TD zQK>8?Igrtoo2fPDsxq02okqPB2zp5OKPOr+b>b04<8jC4Y zn{NRu$6R8|RF|krOnD}YEyvQMoKT^h$F3?TSC_BXYXK9=&sUdZYD={F&>l@mrd4BA z>2x-Y#%eYD29ye?B9W?%iXbc6s3`IT@8ZS!(GNe)Fw|WmKrf=tLdAkyQE>z;|05`r zN~C&IeW)a=FQ5tQC`6@>^ST-Uu5mPg$0v8rZE`f$RszTZu9d6FJHhW&fa^aFuo&mu za))<1d6FP0d6={vqSC2;C=`E2^``~^LNvTWa5?xiq8lQB<(>B|4zGi>lhqwm2DBuT z%Hpw%TDWOO6j>#B50r{hPwMg=;Mpp;r9o3hgR=rxVj?Y-3-Cv0x$Tq=P3e9^Or@vt ztL4!E<8;Gd{A06fSO26LD8$INz`PjnrtFZlg+Cr z2Q`(dA0LhVG{%>yBfYI*Lp67YB(07$hxfjo1om{G`=cCCCp)AJSh zo9d!w@;#nGwzN_8WGgXD=!QIXP)#5Wv#4fX8hBw;nqK?ZvbNdz1=%J}q?c+Dr{CF5 zc{?3QY7W)PmpYd`+eXbJJFX}d%DjQPks{-uRFAhA{Cl#qTArbTe>(WhgkMu`eu*i^ zWYOzYYHM|aqsHx-D}Gcvnj3UlvGzsOVnK|3{%nO%)+%Zdb(4UEiP!#~-a;+m+jJ{= zu8q2lJkPJsf3HemFz%w7#X*=`^bFbNFZ*8Veo*+-ePnkV^#FO1=qJG}3^MH2_Yx00vqhTuyg` z_zUwtUd*S?$x=@q=BP2d-80LZ-D-V?+CRQ8Qm?@NM(v^YQZG?2lYfx|L&dNiVm$7^6LRafQmLG19jqNSk$ zARSRGDx7sZT<)ndx47zStJK;OwO)Q+R9FY7!>g!+R0nm493!X6N94S}V@IizNVSSO zMjfY4kmKY8Ik}2DMZHhGN=}jYp%}Bn_cc^!1Sx-1FxUZ43KDrv&qry zfS5zIy#Mu6i*<~4)VDa5M$tS$Ba{5iK1Y3VRkP1i7pRNm19FCZNDRtip95Eel2R#@ zByL6DQduLyn82z2$S|g8hLr^T&m+RpUX{&mw->^}^4P$jh{%M*{sUA6g+)q(sci6& zp~EW1jGb8R3o`|Wgv!Ih0aN#NO$6KloHKbr)l3D!^gwt?LFjQ6Ej2YxXRWjLP*ikC zOl&-_Fs}$owJ8YG76e|H7&g#+^cZSb3$FyZ1s*h503yk z#hu>W456)32dvgw?{rAV>y=IeFl>pO1V|y~6a#XcWom*@PDLvOaT==1_&Ush1s)0+ zn30*4T`i9h>+LGHQ)J_=eA2Ch(cuI``BJ`T>fHEMnjEbd+*+l}(+dHvC=wySihPB9 zCpt4%%aevzlvMKfZB7TTDk_{_2tU<%x+PKglT?*ec>uZYeAE#gGRW9gOhQN`U$@yB z-(F$?O($=++4;y2Uu!&+?k|}SG`XA0YGFyarn#ITurZxaD_fhKT~7c5mUIjsQ9klo z(UhLpYx$_okP76eteV_u0SUnIs>;!$V6KJluoa1YPeG*ve7AFMKFp)EpG{X^IC&G^&9BJv*crPl6*qWt)c#)E>V}MKjH5s@+tX@d``ZA zzn}3MGWq(dj2D-`O$0_SBuc-2NqnLTZ!5o>{7uSAu&;!aN~2WltQ-pl7%lVJ99y(2 z3}oBnN_VZJHOb*kQmG46xq>A`htQ!{N+un`2Q`Gp`Rj^WjmL@bB@DXb5nj~o`9L=xfr16DD**%1lA{B^&IWF$TBXZ0<>^W?ZK@n? zzRj#Mt2Elle0K1U+;eQrpg6_NQM>_#nH|kz9G=l)NNkMDJG}z5Q@sCAzn$^N~-`X*)fF zAIDOHMwEOA}BJz*mG@RbE%U%jXtkKgXsMxM#ojHZQ zsjGs{?7ST;M$Pz4{{Bp%>tNy14tgqGL)X$ydK!m8y-*ycIm~dF<*;N8J)L&ZGayMl z-N4}h4o7e}MM#v#0qhLjN$L^Z?`%s}=Nv%zvNOqWw--!d56>GAzjmgFU8FOW@Yp{( zSvHUx7!SV}-z`U|z1iK;Bt8(WzP~C1JY0{z-?QoYV3X2w=(%(&J&(gu4)@})jKhJe z=>_yc`UZLdhl4mA%;6CD!uK&!$$*a5ossS0+}7 zWjJfA%6dNXx9b-ARusK*CGVH=CU1{&E8HLmV6ytt-a+35t`2=CheO-wyE!bsZmtd# zO5aaEKtBi}RKSb)WmC>`{D4l@9g$K8H2*w^c_Z%`JZRob(b(-+qox;+O76>o2@gZ-db?IoktI>7C^>Ht-%(RE#RtCF|AJbAwAsz+B;=cv2V2@9_RRCHrqmqB0c z*G`YoZM=qkoL)gcL9gU+B!{Co9L?dF)pR?(ie61W$zcVD<2jtb;iUg>8g?W7G_N%` zaX7Y(-pt{+>uSvrVU(q(Cj5_hyz2skV&eOzqz@3?+ascT8xa{5?ITQ11^a>q}JTx^|~PszYlfIkB0=v5xB|> zk#s16W8=DUHCGb4BO$SOpKG~de$T4CcT$%ZrU*_}t|TmEN=>`c=1uLL1m*YhJs+3> z?WzW$6Pp7v1ba@W@)kO?8XV)KzfA>5epfM-{GbR@=o^kJp9updJo^iWY$BS98h}mC zfkUx>|Ryl!nD;8HNn48atu3uBp{G9)6cHq~|!Hd4BEjGW{w) z7_V@+ZyWs@hm-$yFy4Z}*!TB?q5MA@jQjo%2jgA(0MKyh_vn9dIF-X`?esyqgTv_@ z*70gHc2}4_*`#U0>W5Gh+;8-c?J@d&UNax3PtYgnQylKc;r<*R zz~OC^NF^cng?4rg#UlfzjY&gQF#_SuM_>MLqMHI+fT_XEH9NdD(|HrW5_r=>{>o`^ zb(B6&U!X72U(#QJw0}*11MhT?ZM~6Ef zUU9!`AR66`zM>^efEcan94;Yuj}dKWqA5E#PsE`fy0A1T+Cr3hfN$duR)8M6rQ}nq%-|^ zbfW~24fwEd*vfY<3C0bY*Xeed-Cl9W5_TEE--`e#f$%T5Hl6S$^o9o&x@Q!6YHk&B zD6e=X((bP;m&d`nm*7J}AhEZr^2i!+vK&p|baks;0G1fFfDge^oj+fdk)&Ffku+bM zug=QNNXpB}U${_Alq)1s8k>xQ;`I+*K2rz~6a({K+Qt-dzzT!0=-UD-yu8^t&Dq@S ztSy0+UFU9Y?PMgES;WveWAv5jv)cV-T9|UAdWx|!Hpb4BGG)wQW(YHs8O97}MsRp2 zhlg=^IEUeTIfqAbcoc^#I9$o$Dh`i+iW!NPFcnNCQ^kyC#xP@!yG=sVIhQ+W%7*4{FIV7^*D!0dz|91ye{z&Uhz+>L_Q z&c6=e8+0+N=*x%tghB8$0X-bw{b7>t0$vAk@pwO95yW)(z>>&K2Hc}by!JOocxSG* zr`HXO-~ZU@5DF2d9ONnjq{8>UiSRCm2>2xVZgssU(z84dMB?VU8Xy1wI5kWh7>Yvf zIzS}&Ci30{&=MFIC_yP&#nTc18Sfk+!D1q-$B$@oHkLI40_Wisb-1rbL!HySmF`il zy6N7djGJjXkmWLC?wI~9vKb6^Yema$lB7b4ZEV#JlP z04;B47BV+*cru3_0Gu)$vj{r2n7YK=Jie>KDxoPHt|p&xcuG$nRNMiUFt@?J2=mtE zuZcT}Z+uLy)WHvERGn<)b1XVPX!}T0);BX^{-D{Yw%r<5_{M~^TbGV7avpBp` z`0}C%h=+-*Rz$CTD=k92R|?P?s7tt6Gt)CkyvHjPba0xM!u%24% zEc3Bni*Xo0;JMwDi#SMM@Pl-oxxnF84$tpW6<_hHg2VH!p&72Zny4!1Aw{8Tw*RWf3k?hEXC3+!?G+`Y&UY4aG2xp zB8V4q_$CfR>u%xjtsGvmftB)R5L(Ozi5yl|j?y@M8*dKr29b}&$^lvTzpqH~?|J@5 zUlw6|Lllth!{OU~JXRJWde`8w`evE!&kh7{m<1Q@&Ndc2vwz5AWmRmBz++`KB$vZ? zw^K$SvaY=bk=0*OK3gPESJ^^R$l-hcI>R+KKDLClK$HYja}N#3tDtt)%B$^bKD$cA zuy(c-jbR5fr&&J4If%n6IQ%&8bv-Do*(V^%*>laZ zdnbDrho9u|+OF}uS5$;+{x^!yFOiS4>p;P=E7&L4m24Z^&aPrtvrn>XSlG`uaQG<> zZ{+YM4nNJ|%^ZeZd<%!Sa(LSYcD+x*ZSpC&Exdx;?pJU-M4CQ_pZ~9d`_J?A*}c4i zdx^u(`W4)(*Hv))*mrmZx1Ym1+t_zGED&@5{!LHzAbS|}72AQfarilS)f1nkjG*4u zUd7b+i_=N=w5Z_T=M~%wf34sI>y-VN{X_(2dZ;wPsB34>@j8u1bFO{}tJ!blRf|vk z4fve>5)c>m3-&yFfxXD#y&Q&NdYQwotY*Jrzoss+-*OlXytnwpvyT|Y^6nPzuZ33ECBxO+b5DwmlfvQgu{kTpMRvKMXdNiV3QhBWcs?cJ|7!JSBTZ*T7WIhy%@FNU7 zM4>cJd`Tz>{Db-P)wy{YNot*j$E4I+6~I&ZDiuId{2LCENj$BTm0TI182CRuXy}YQ zT-r+(7}OO~gUEkeJRjKV-M6nu@$8>I0N$Svi9P}s3Bp@GqH!1yi^K;ay~xQ^K6wX^ z$A%zT8Bf^_v*riUyrOYDs%HG^0bc6Q-Yv)1?PfRzwrD3YGS%?w>PlM3C;H4Zy*f7u%m`EXh zC?Vlt!_IG(NAPr3l^Tesh7vdlWK>1vnDJsr6OM7wn{4@Ny-Jf=Qj%xQ)LPA!%zSN5 zPNqhu(&_c^Uu(((!WKveFC0m{WblHK#Q&)CH2Ng9Dlb2&3OZJxcgtfTR96oSN;d@T zsv)}H1V2ehkthj{0&&3gO!!*|heTx|4;&KVg2SSKIUf#k+1Y8aZ{?!S_CrZs!IDF{ zz@jZEf;qmDFYJrSw&jyvZG~`*OxU48#d$z@06Prk57_h0MsXghs>&=PdIDAVe8jVH z#dBz2WODL=EtjJ)Woj%sU8YJ?V#+k<+wwB?wj7lyN2NAva#R!N^J4((My<|U*kQAm zmR&0@3scs;0qv!OJHxYwhYrgdJ|ew*B#g0tV#Q{5&*7uu_3oMCY8i^{nLr#%Au|Yt zoP=C&q4xl#eZ7LI1r1=cSB>tJIRfFO7*l|6{zhehaR?X#KNl`oW8g-3EbyYyO z2@V6f1uchzzc#_~4=+L}_dNOu4)Yoaf!gu72@d7D2@c_U2rtFUfG_)~a1_@{+>Ten zaa`-+wa-oP%I6lm9q+>j@Xu5%y#G~6xq!*B2spC$0Y`Qf^(4IYv7UMgj?UT+2V#9f zeM)^!ou|X#uq!2<1?)*1kOD`+@m33g^6)$aXZOGnRqw+wRKLOTQ$b7^L?!wPIuUhp zKqiRS{=bZhtb%^UqGULlNDYUe6$5K{G@yEunPjFPlgk(Yuo?lN_-FvcC&3|A4mhA{ z9vnRNH1jI+I`bwRH?^O6m-!bQH+6_P0&vYm<}2nKICAO-ICSb4ICkm}<}!c;6dX9E zV+XTi*ha9Zx52?sXW2{aWl5k!E(wPNpkiTPOqBG2qn=tNw@B`jJRo^UvQ)B6@~C8u zWSwM#WTWJ1$up9zlD(2QC5I$OB*!Et0^$Oc0a*cg0fqo`z>t8k0pkNE222ikB4A^{ z(*e%}Yz_D>;7=)*(o$AhBrTH;kq(oNklrp`D%~i3TKbH1t8}|`hjf?pdFgKH9_dTc zBhq8i6Vg-C)6z52kE9<<&q+U%ej&ZkOWG^F*N|Qfz3%I^v)8F!zsX`{I$5#IEVIaL zvJtYevhlKsvdOY3vZ=CK*)-X7*(_PB>;~D5vO8t>$nKLpD0^7;i0oO}E3!9bZ_D<} z4#+xWhh;})=Vaf?evn;~T@FNny#k{H;{#Iy)q%P|ePBUgaiA%%B+wc-ByfCSO<-#v z3A`(?J#cm4n!t5|8v-{5J{|Z>;MTzHfja{C2fiElufT(WhXRiT9t%7Xcq;I8;F-XW z0xt(82AP6tf^H4k6m&4?o8ZvkjNsg0eQ-f=QLr_5cyM{}sNl-r(ZOSbox#(CX9PC{ zyMt#1-yQsD@XFx!;MKwFgP#iC6udcjPw>mZ`-0yIJ`wyu@Q1-?gFg%YBKSh^m%)F8 z^a|-6k`$60k`j^@(l2B{NJdCjh$=)AVht@2UwG4gTp3GylOsq$L+G*Y_$Uy{Efe@*^|{4M!D`8)FW`@-J|KNx-}{7Cq*@K3|PkB~;lB7!19BIFU_5s?wm z5sHYoh=d4rL{3C*L|#OGL}7#>qBz17Q4(Q|ut(HJERI+k@piYM1)Xic;>S{JR4Zit>2y&(FAXcGNw^efS?N52`p zFZ!M6_oB~7e;@r*^e@rB#e~Mh#$?3kW6Uv@7+Z`zrYvSi%-ERvm>Xh9%%Ye(VjhTj zIOdU`}a=cvo>)aa3_!aZ>S- z;$y`*#b=5yVr8-B*qO0&W9P>%j3u#)VsDDQH+ETUTkM9|jj_+h?v8yq_PyAHv4>)h z#vYG78T)DM*Rj9G{vJ0VE+@_!H#Dv)Zfcw}t}bpyTzy<)+~aX;;x@-^iQ5zRa@?zN zZ^XS7w=eE^+$VA0#xwDfcxk*WJ}5pUULGGF9~mDV-#>m}d}e%hygEK7J~uuuK0m%N z-Vk3JUmZU;{*L(e_?_`D$DfG*F8nkNIabQQR3%`=Myg`ewFxR;?Ie{CjOpyskfweaPR2k)a3MJZL%r3B-xs5 zPcBOyk~}PVeDcKP$;nfarzY1XPfMPjd{^?;(qI^yH zhVm`t5#=Y!PnDl5&nqt~zfyjq{4NEj&?%A>X-Z&9a7t)OSV}}nWlBxTohdt0PNe*p zDo;&J%}C8kRi$cDwW+#PeQH5!S?Z9~;i)52D^tg$j!T`GIyrS#>P@MSq&}6pH?<@6 z!_+TRe@nfT2GsX7Nm{S8ptRVugtR_s$!V!+{n7@eWu}#<%}#qTZC%>)X~)yfrG1t5 zZQ2iMKd1ecPNz%Kd!+}Zho*<6_e(EIuS#!9UzmPF`i<#a`eW(q(>JDXPT!jTZ2Hdh zj`UOMzoh@3etDp0;DUiq4%|5KNJc@1J)=CMB4c#MxQvMz&W!09Gcy`9W@UIXZqHbe zu`{D1<4nfcjB^>EXI#kmGErZub1_8?w3Vo3d}oZp+?~{bu&Q>~~djRX3}a zsP0hRt-4S3fa+=0PSs)6G1W=+&FcHrOV!KOkE`3&Ppa3cH>lrGA69>)KCk{#{f+v2 z^-t zmm|xG$Wi3P=OpGN<@C=Pn3I!Jlv9~AE@xKGZ8>-6EX~=K^J2~iIcIV%=KPrROU~~( zm$g_c(*|qh+6Zm5R-rX$r)ZaGpVIEqzOH>syI=dB_MrB#_L%k)?Wfu=v=_8rYQNEb zul+Gsk(-q}IJYVHq1=tR&*tvP-IaSV_hjy=+|#+A=6;|1Q|_<1f8_qD!@5*mmM&YT z))naNy2(0+u2xs4o1tsaHR(LM*}7KU0^N3s)4j z6|OE^TljS0mcng?&lc`1e5deC;kSjq75-U76|qGDMg58_MbnGs6+Ke4v1nJ((V`PY z?-!jZI$LzE=<}lUMHdaML23vzgc!mMk%nkPA47^E-7vtAVaPWW83q|lh7pE|hH8Vu zP-~cF@EB$r<{DNSHW^+qyl!~Qu;1{W;h^EL;h5p1;k4mH!;gkv48IxvFkBvl2hoGr zK>>qggMtQy3>r9S@Sw&)_YT@V=;WZw#fim5#p8;n7CVcl7tbj66fY>gp_mjeD!!@s zmf{DBA1+>2{8;f5#cjoViuV^EDDEgeQhc)b{o)UbKP>*b_zxpC(ng6f&=_nCHHI0J zj9JD!<8Whzafa~@Git%;hTgH9HL&lTF)5Z^t z9~;jZzcc=5{Mq=Msh26*6l+Q_^)V?;sV0pn7tVPoFxgFIrlF?crm3b`rp2Z^P4}4Y zH$7;2+_cN|f@zQGjOncDoauAZ1=CliZ%yBuel&-e!_1N97;~IC(cH(}&kV;{m~+gz zX0zF9wwni=$C{ny>E;>c2J<}g0`rY#&V09dm3fVMy?LW~vw5reS@SOQ3+6rMm(54b zC(NhJr_E=~XU(6OKQ(`DzF_{+{B=oC$-t5kC9_H%DtV#gOvzrK{Mt+!e4w?1ZFYu#&o z$9lwi+}fCv5NAKCoS|eP{d8_KWRzJ7s6>0d|=^$R1};w-?w;?B(_`_VM;f z_9^x{`wV-%-EE&`pJ%_-zQlf;{SNzG_T~1+?JMo8>}%}n>|5+R?9bVE+xOV_+dJ$> z?8oh=>}T!g?4Q}s+b`OGvj15cR2oqlT^d`OP^v6VEA3Z0ur#x@xU{siwzOf`9G`zf PiJy{czh@(U4r~2?*{p$? delta 8417 zcmaKQ2Ygf2`~Dd>X?AYYw9q8Y9=BPvj223PQd-I^rDe$~r43NJpe+SN$hja}L<}Gx z2rYYxB2!RMzNiQS1=)&wfue{g$oQX|wus~RPd-U*&Uw#zpZ9skx$p+OGWmsqU_T%S z3eXHR2eF_9NC1hTC1?d&gEk-uB!jk~9q0_wK^M>y^aZ(K5Eu%EfeD}nOazm_WbibY z0-ga=!88yAGr&ABA3O&Zf)~J2@Df-J)__{D4y*^8z-F)oybgAOH^5$S3Y-RKKs`7M z&Vi4E;5@hhE`m$o6Yv%I0bB>ag4^IXa0fgDkDwGPp$ckX6l?~YLnAan8}z}JFbSr> zj<5^t4tv2|H~+lBr5&i^k!k^(U@D^f_2#HYy zk{~IPAvtP>nxj~xLwe*w9EwM7lC4M+KC1S&v9 zD1gSGVpM^~p(<33o)4mh=moS0y@*0+FdHMub|av4cdmbqu0?s^fKCy z4xuCH9dryGM<1b6=q$Q`uAuAa2Ko{Ggl?jr(J$yvbRRuH4>873Scgs6hV7WcUhKn} zxGT=W-Eeo@1NX$eaBrNA``|nr9E?Zc0$hy8;!0eFtMMev<2iUPejdMwL--}U3@^v4 z@GH0uuf^-|db}BL$9wQ0{0=^b-@_l`Q}|o_9sVBwfUn~l_(%K`zKMUvzu@2SeFia@ zkuwTL%S1D=jE-?KE{0>`88?%}Br|Q9c1((&Nn<)QSxh&kH#3kK#5~0eW`-~UW)w4) zDPhJlH4I^RW;*j6vw(S?Ss1c19r0X}5GrK4^|1s0W}pWK5C@FF1kAt!tiVP@L`))x zgh+{u$ccg|Hv+B`k@o106vpq9MJggh@QonE|qd-b~PyM3I;}&<%7a%}FvzItzLMHRuhpK_8G4 zdRyEKM-y$RkEFe{9^`?3pg$N88gJIR`)B9%&+S!5{|_9Lo!4jN*g#?RlVgVvK%z;r ze71F{Ai^^?H?wm_?@WJL(OIAbD!RgOPz?NAKt31&3cyHE2#P=ei~^&<7!pf#L{AJP zju?rFn2Cj0w}7#rB>XN16<{2Fsss*VBV70$PZCK>`qYXlBx%>@^1g5|0n=*%Pwd21 zA71WRFnt}E31$f&;vmlO$HnSdN@3wx3&8UOv-3JvRu)XIqkjfUn)bN}gg{I!c#*hk z!D8Z}pp94BgJ2nW8Bnz?2P=q|`0Bt)u!{Ie3z9ITw75Lby}T$eDNr@MsG@K}S)jbS zSD<`!^_Yg8)Pd=1h$|8mG%UOUY#f@Mmr-0;U0hLKP)S$c00!F9oFM#SQPV!Qf*rzw z+rW0xngrWCv10#G6{SW0UQ0ODZm=hxjmpmJJ)yc_WNF~9Ro2ojx=z#N`@p*b82iBi z@FqA24uQA8+u$%b0^T8QNjs84+LKh$fpjFDNE+$91;ih1MB{z%0o7>_>OdKQ279G1Key- z`A<~kS%Lz7p(^i268@p)NJ-GvpglmnbAz@04(>H*?=IC|&nL!)j%38NfdDeVzZOD> zASS&@AJTU%6hSeJAbDgc8U8m`Kt3k{?{W#UIM7Be(c7VIx7s4hqch&&ZGFPIG54*Ls#+P9WA zwF3hOP@ALw8id-z)FIhtHZ(|ef@%3|O!th;UKOJ=nhZPiu$e>* zJHvD^Fr;Xn6oeVD>*GUakzph$Z1u25*y+5>^S?t1d1J*g7BmvP)#1atWb~r7VIIU`>O%0(Ef0 zW75D$@M&Sz$z*IToI*|=bR1a3Mqs@3Kx)WDGKowkPm?L+85(Th zdQbv4!cA~9+yb{!eyhk-%Iaw(NC@G{boxJGR|kCr3^pMAmcVfh!K8`D@Ev%RZd+)p zh5sWnn^1lq9&Zqw)u7%J@Z|8viU@n)weW=CgB#{O1&^;GRFnn{SP!PJ2bls-L08Ju zs4!P^Vo2Y=7QGC=0RD~e3cLzGfuF)_@H6;1nMdZ6=g0!`JXuIy*a*LbU(vID1Fz7K zT0$1_Fqd#V%%fr|dcve#QFaEV!(ZW_!c4c}Z}1NM9sU9D!h7UJ5+aMq60(%MM3!x& zT6zEnC`Lc%$SFe7T)u2bmq7AeYYVx=ZVXS6!q-h|en5nMk}`r(?%V?z76F3spuP0#uW zi9W7QX2`3mEM#%L$!rOccw1;E$26z?tuDLZ$mlcf*KDJU!{7#;9eO)MT&%|ajnku>r0 z(>$psEeVFvETohs7n5lbz|+vQoF@FQ(PV!g4Ti%{z6Pg zgV0ly18>j|M|P7vbf({0AMAxjhFO@;YNt#|@R}2*dd*W>Cb#sOlUuc$IyFpAG%74& zOB157%|x@%Y%~YWMf1>n^c;DgrWGHM zQ@ zovB^ZL~qgK?j`5w@#>!%Da5h-!g1ryLMQc)c94UPf^4EC=Sf3ii{3-;hYq!C)&_k5 z2GU$GV?e*hvAd$MKu9_T&+s8Sfldw{M}vPuH#eBA9NG-94TBNW(!2nOAGehWb z8Z`qsLY9E)X_oLrL&LVup^rnQDP9Jhr`ukcl8}uqQh$#wk*j1@6UbN5mx3)$MxUZ< z=ri;=`htS`3Hg*UCy!{1p;eI{kHi6*X5&JzoQHsT>%c0Q zMT??gw4dhLdR&6b!)Z7!BdvLe>R=Wvn}!KxQz$ac6r@&$C*T_DWoVX}SyWtIQQ3`# zr;5tS-Kzs-b$Fs+!vER#Z)hjur$IJ;Mt~LvK`IZUc&H(OhvEigc}T0`ze5|Gj%Nti z;#qh$4^=#r2%*TrxhA4y~0~_U{f{z+rjUE865Ig`6)q)EUY81`m8U@!1)d&wGX>*(W zeAZrAQRXigH?B0`FRB&}=1-qcTq+!(OGSA#^;7*Oj|((x?f=?Y!x1-7hU1MqjHY=S z-a^m36>kfz>Kqr0;bFqRp%GZO6TjBPI)P?4c^JpTX8#xI_Tqg_q~oE1ht2;^JDPgd z;kWT&9>(%e|Cfq`?+VQ0X~p#~ANya_`zP}VXfpTH_=>>3Gq@g~#pm$H_&mOVFXBs> zT8EK`CLWr3XyKuihc+JCdFbGwlZP!_TkzFJB7W9L#IFGDYq++cIj6gcivGt`?1FCz zRQ#2P@l9O3^Z(`I1N=zf;zJ&KY8h(a-bOYu3=Dtg^3eAr+bA1z7$w7o*~q8` zHnw=8{~r}~*t0V+486^X{wFi@s%chL$26zj-j$h{$mkg}&0QG-6UP`Cs+d+hq?5Pd zVbVIr!dTHBhN>r-hpFTY4?9v%JvXz1pYbpW!YD7}WBg1D9=7FSJ07O+u>Cr!zgg5z zIH>b-QeQzmR_J!-v>?--q4!(03}tqQT6(AB6vBEWHQcI-(m+FH*PHUS5kV%M$q=Nw z@UT-YlgY!husDrgc{BsA9#9;ZD3G}-Y|l)0c)X73!Sv)|XC8Ka9JiQkCYRQmOdlqP z(f8$HIuGf58EY8>a4`MpQ3>@KnN<6Vtc2i{geS8gW+*eFY3P$9n0ZkpQ7n> zEU*GEy?ajqoj_kOfZnnXr$Ls*ao9oQRx(b-9dR1H#Lc1?xIJmGn2VRvo7k=NF7{RG z4tC+)crV_M-^3r`)0AoFD9bM5%lIn(6n}=lz;~$yy6KH;HZy{m$}D8IFk6{@%pvA& z<_L2v$h^-SXHGEpMNUyGQCm@pC{@&1)J2pj$`bVx4Hb5hx-R-rY!@eryNbJsdx(39v&A{$Tya0~0P!I4U~z?bytqm{K|E1BSv*BN zRU8!a;u+$Z;yUpW@z)U%5uS*?5fdU7M+A38oQ}8@aW&%8h|eOvkGK_aJK|2n9})K= z?ngY70Etu*DT$FZlh`FLNxZ}>@k2?wdA(sfiz00le(m-(vH$JX}UBcDD5ik zChZ~ZCC!%RNCVQ*(qd_ev`ktd9WSktPLNKNPL@uQE|cz+UXebKS!7wV64^Z2X4x^> zDOtVjob0^pn(RB-53(DwpJYGFZpj|Wk(`l7$fa_*oRhbar^r*~9pzo*ner@ocljXs z5P6Y&yu3y}N&d7vDCgzD8S=YOU&^>ZnRn^;YGma#j6R165C{Mydj;(W+wAG!;=zSItn(RLxc`R=uoR zrCP13Rc%sjQEgN0Q0-KmQA^b=)t%Jo>I`+3y1TlkdZ2oQdW?F!x=Q_wdWL$AdWm|O zdWCwGI=EV0tKP2Oqdu&DNBxWX9;;xZSOXi+dRaf4$hKnJutjVcTfqHdF%pq zA-jlO&2DA)u^+N0*;DKp_AL7`dx5>gUSU6Be`as7x7j=FAM8E$KKn2dM50J0QXT1x z>=cNV#y=QS5Km!tGi?x?(|X;EvU4n|#w`YP(zsNbS~kGdQ6XVinJN7^9NvRaK+ ztBuh%*Xpzetx;>%w$gUh4%U`wdF^6to%U7jKJ5YRLG4@G!`ctDA8Jo(PifC+&uZ^P z%c2d@DbZQcInlY%{h|j%4~i~`E{qODkB%;mE{UEVy)^pO=;P5BqAx~YioOzkCkDre zVm+Lp^H|w|Rcj$NOU)P`4U( z;?~7&h6y=}azDyvbwonUYNzrmm)LrXHp|Q?aSs^sH%tX_;w-X{G6m z>9Xk?({Mb^>QvDQ*+xplU6u64e3fpwvEku_vpX|1)cwXU~r zw7y~8W8G&xV13{EvGs!WlJ$!9JL?bD8`hs}F*cj6tu4itYNMAuwsc#Dt*fn@tw+$- z%T{13v;}OVZN;_{TbZrGHr`fktFcY8EwQ~}yJ)*-H`+7oW9+l-8|?4ePuNe{&)Cn} zuiC%1e{28Ve%=0~{iglC{gDGY7>C#)aX1_;9m$RqN2;TwcRD0GZ*jCGVb zDjn618pkBZY{wGED~{cc1CHPs$1TTijz1jt91onpiJfAn#A$Kboi1m*)8q6z6P*EP zxwFbycd6J-9wx zF4vzM$Q5y;xniz_o6ODP=5X`4=eXtE%iJn%HMfmB!X4$_?;c+kzc7AR{H6E@ZiBnMdyu=pUF06^E_PSC zgHzm7-9b0+p5dP9e$lyJ1D^kRKJonE z`PFmBbJug<^T;dl%Df7%%FB8+L2rV$w|AU(u6L<-xp$>^wYS#0*1Okx)ccgIeeVY?Q84H^bPVA_{x0~e3N`reA9e0 zeRF*Cd<%RFean37eH(lmeVct-efxZG`rh&#@g4OY^PTdY^Ih;=_6@x1``-7n?^oX) z-(5fOW538R@yq;Lf1Ka#PxQC;C;L Date: Sun, 19 Mar 2023 01:21:14 +0100 Subject: [PATCH 09/14] Change gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 84e4246..f58ef28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ .idea cmake-build-debug build -.swiftpm \ No newline at end of file +.swiftpm/ \ No newline at end of file From b003e8ba7ff18010b2068912b6df7f0c2c350108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 12:02:28 +0100 Subject: [PATCH 10/14] Stop tracking .swiftpm --- .../contents.xcworkspacedata | 7 ------ .../UserInterfaceState.xcuserstate | Bin 23127 -> 0 bytes .../xcschemes/xcschememanagement.plist | 22 ------------------ 3 files changed, 29 deletions(-) delete mode 100644 .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata delete mode 100644 .swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 .swiftpm/xcode/xcuserdata/jaceklyp.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/jaceklyp.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 5390ca35f84bb7e270e979c491655f4c7e5a1bb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23127 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 PiJy{czh@(U4r~2?*{p$? diff --git a/.swiftpm/xcode/xcuserdata/jaceklyp.xcuserdatad/xcschemes/xcschememanagement.plist b/.swiftpm/xcode/xcuserdata/jaceklyp.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index d1b471f..0000000 --- a/.swiftpm/xcode/xcuserdata/jaceklyp.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - BloomFilter.xcscheme_^#shared#^_ - - orderHint - 0 - - - SuppressBuildableAutocreation - - BloomFilter - - primary - - - - - From 2e3e446cf2d86b42ab5eb8186c07dff0f070cb46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 12:03:03 +0100 Subject: [PATCH 11/14] Add DS_Store to gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f58ef28..32dc2c8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .idea cmake-build-debug build -.swiftpm/ \ No newline at end of file +.swiftpm/ +.DS_Store \ No newline at end of file From 4f8c23e90d2da1fabaf6372bb7bff1ee201be6b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Sun, 19 Mar 2023 12:03:51 +0100 Subject: [PATCH 12/14] Get rid of header from package to see if it works --- Package.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 0d9ce0e..efe3c4c 100644 --- a/Package.swift +++ b/Package.swift @@ -19,8 +19,7 @@ let package = Package( .target( name: "BloomFilter", path: "src", - sources: ["BloomFilter.cpp", - "BloomFilter.hpp"], + sources: ["BloomFilter.cpp"], publicHeadersPath: "." ) ], From e746b87eaeea1ad59173771962e63688fe64cc4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacek=20=C5=81yp?= Date: Mon, 20 Mar 2023 00:09:16 +0100 Subject: [PATCH 13/14] Add swift build to workflow --- .github/workflows/pr.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 32bdbae..40df280 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -22,3 +22,7 @@ jobs: - name: Run tests run: ./run_test.sh shell: bash + + - name: Run Swift build + run: | + swift build From fbc31c75fbde8216d7876265a097b767ee0cf17d Mon Sep 17 00:00:00 2001 From: Sam Symons Date: Fri, 24 Mar 2023 21:01:45 -0700 Subject: [PATCH 14/14] Update Ubuntu runner version. --- .github/workflows/pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 32bdbae..d6e24b4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -11,7 +11,7 @@ jobs: name: Unit Tests strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-20.04, macos-latest] runs-on: ${{ matrix.os }} steps: