From 72595e978a877b8103a2c9883f7b3219caa76dcc Mon Sep 17 00:00:00 2001 From: Bart Jablonski Date: Tue, 23 Jul 2024 22:15:11 +0200 Subject: [PATCH] The BasePlus package [ver. 2.0.0] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## The BasePlus package [ver. 2.0.0] ### Changes: New macros: - [`%expandDataSetsList()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#expanddatasetslist-macro) allowing to expand data set lists of the form: `a1-a3`, `b_:`, mixed, and `_all_`; - [`%unifyVarsCaseSize()`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#unifyvarscasesize-macro) allowing to convert all variables in a list of datasets to all-low-case or all-upcase letters. Both macros are result of recent discussions at `SAS-L` and `communities.sas.com`. New format/informats: - [`bpklenght.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bpklenght-format) - [`bplenght.`](https://github.com/SASPAC/baseplus/blob/2.0.0/baseplus.md#bplenght-format) See [documentation](https://github.com/SASPAC/baseplus/blob/main/baseplus.md) for details. --- SHA256 digest for BasePlus: `F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD` --- ### Example 1. New macros. ~~~~sas data a1 a2 a3 b_x b_y b_z; set sashelp.class(obs=1); run; %put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#; proc print data=a1; proc print data=b_x; run; %unifyVarsCaseSize(work,a1-a3 b_:) proc print data=a1; proc print data=b_x; run; ~~~~ ### Example 2. New formats/informats: ~~~~sas data _null_; x = input('żółw', bpklenght.); y = input('żółw', bplenght.); put x= y=; run; ~~~~ ~~~~log x=4 y=7 ~~~~ --- README.md | 4 +- baseplus.md | 490 +- baseplus.zip | Bin 308195 -> 315042 bytes hist/2.0.0/baseplus.md | 7609 ++++++++++++++++++++ hist/2.0.0/baseplus.zip | Bin 0 -> 315042 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex0.png | Bin 0 -> 37349 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex1x.png | Bin 0 -> 33305 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex1y.png | Bin 0 -> 34527 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex2a.png | Bin 0 -> 46127 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex2b.png | Bin 0 -> 62152 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex3.png | Bin 0 -> 84018 bytes hist/2.0.0/baseplus_RainCloudPlot_Ex4.png | Bin 0 -> 55585 bytes 12 files changed, 8037 insertions(+), 66 deletions(-) create mode 100644 hist/2.0.0/baseplus.md create mode 100644 hist/2.0.0/baseplus.zip create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex0.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex1x.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex1y.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex2a.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex2b.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex3.png create mode 100644 hist/2.0.0/baseplus_RainCloudPlot_Ex4.png diff --git a/README.md b/README.md index 1dc0e78..e42d405 100644 --- a/README.md +++ b/README.md @@ -51,10 +51,12 @@ libname NEW "%workPath()/new"; %put %date(yymmddn10.) %time(time5.) %datetime(e8601dt.); %put %monthShift(2023,1,-5); + +%put #%expandDataSetsList(lib=sashelp,datasets=_all_)#; ``` and more. -SHA256 digest for the latest version of `BasePlus`: F*68BB953CD732EB43119A3339656670292317FE1C3B764EC57484C7D5C9DF23EB +SHA256 digest for the latest version of `BasePlus`: F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD [**Documentation for BasePlus**](./baseplus.md "Documentation for BasePlus") diff --git a/baseplus.md b/baseplus.md index fd2b3f0..ba84be3 100644 --- a/baseplus.md +++ b/baseplus.md @@ -9,22 +9,22 @@ ### Version information: - Package: BasePlus -- Version: 1.43.0 -- Generated: 2024-07-22T08:50:35 +- Version: 2.0.0 +- Generated: 2024-07-23T21:51:33 - Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) - Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) - License: MIT -- File SHA256: `F*68BB953CD732EB43119A3339656670292317FE1C3B764EC57484C7D5C9DF23EB` for this version -- Content SHA256: `C*7436BD6446CDA2F57163B7BA45482750D460CA9AEFDCA4012253D742B8EE5E65` for this version +- File SHA256: `F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD` for this version +- Content SHA256: `C*0352F7BB04B99D620BEFD33FF1B1FF1835E6F8F21CC6A764D05EEE51E77E57E0` for this version --- -# The `BasePlus` package, version: `1.43.0`; +# The `BasePlus` package, version: `2.0.0`; --- -# The BasePlus package [ver. 1.43.0] ############################################### +# The BasePlus package [ver. 2.0.0] ############################################### The **BasePlus** package implements useful functions and functionalities I miss in the BASE SAS. @@ -368,6 +368,25 @@ run; %put &=y.; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +**EXAMPLE 28** Converting variables names to lowercases: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data a1 a2 a3 b_x b_y b_z; + set sashelp.class(obs=1); +run; + +%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#; + +proc print data=a1; +proc print data=b_x; +run; + +%unifyVarsCaseSize(work,a1-a3 b_:) + +proc print data=a1; +proc print data=b_x; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --- --- @@ -439,38 +458,42 @@ The `BasePlus` package consists of the following content: 46. [`deldataset()` function ](#deldataset-functions-46 ) 47. [`semicolonc()` function ](#semicolonc-functions-47 ) 48. [`semicolonn()` function ](#semicolonn-functions-48 ) -49. [`$brackets.` format/informat ](#brackets-format-49 ) -50. [`$semicolon.` format/informat ](#semicolon-format-50 ) -51. [`qsortincbyprocproto()` proto ](#qsortincbyprocproto-proto-51 ) -52. [`frommissingtonumberbs()` function ](#frommissingtonumberbs-functions-52 ) -53. [`fromnumbertomissing()` function ](#fromnumbertomissing-functions-53 ) -54. [`quicksort4notmiss()` function ](#quicksort4notmiss-functions-54 ) -55. [`quicksorthash()` function ](#quicksorthash-functions-55 ) -56. [`quicksorthashsddv()` function ](#quicksorthashsddv-functions-56 ) -57. [`quicksortlight()` function ](#quicksortlight-functions-57 ) -58. [`%date()` macro ](#date-macro-58 ) -59. [`%datetime()` macro ](#datetime-macro-59 ) -60. [`%downloadfilesto()` macro ](#downloadfilesto-macro-60 ) -61. [`%filepath()` macro ](#filepath-macro-61 ) -62. [`%finddswithvarval()` macro ](#finddswithvarval-macro-62 ) -63. [`%fmt()` macro ](#fmt-macro-63 ) -64. [`%generateoneliners()` macro ](#generateoneliners-macro-64 ) -65. [`%gettitle()` macro ](#gettitle-macro-65 ) -66. [`%iffunc()` macro ](#iffunc-macro-66 ) -67. [`%infmt()` macro ](#infmt-macro-67 ) -68. [`%letters()` macro ](#letters-macro-68 ) -69. [`%libpath()` macro ](#libpath-macro-69 ) -70. [`%minclude()` macro ](#minclude-macro-70 ) -71. [`%monthshift()` macro ](#monthshift-macro-71 ) -72. [`%replist()` macro ](#replist-macro-72 ) -73. [`%time()` macro ](#time-macro-73 ) -74. [`%today()` macro ](#today-macro-74 ) -75. [`%translate()` macro ](#translate-macro-75 ) -76. [`%tranwrd()` macro ](#tranwrd-macro-76 ) -77. [`%workpath()` macro ](#workpath-macro-77 ) +49. [`$bpklenght.` format/informat ](#bpklenght-formats-49 ) +50. [`$bplenght.` format/informat ](#bplenght-formats-50 ) +51. [`$brackets.` format/informat ](#brackets-formats-51 ) +52. [`$semicolon.` format/informat ](#semicolon-formats-52 ) +53. [`qsortincbyprocproto()` proto ](#qsortincbyprocproto-proto-53 ) +54. [`frommissingtonumberbs()` function ](#frommissingtonumberbs-functions-54 ) +55. [`fromnumbertomissing()` function ](#fromnumbertomissing-functions-55 ) +56. [`quicksort4notmiss()` function ](#quicksort4notmiss-functions-56 ) +57. [`quicksorthash()` function ](#quicksorthash-functions-57 ) +58. [`quicksorthashsddv()` function ](#quicksorthashsddv-functions-58 ) +59. [`quicksortlight()` function ](#quicksortlight-functions-59 ) +60. [`%date()` macro ](#date-macro-60 ) +61. [`%datetime()` macro ](#datetime-macro-61 ) +62. [`%downloadfilesto()` macro ](#downloadfilesto-macro-62 ) +63. [`%expanddatasetslist()` macro ](#expanddatasetslist-macro-63 ) +64. [`%filepath()` macro ](#filepath-macro-64 ) +65. [`%finddswithvarval()` macro ](#finddswithvarval-macro-65 ) +66. [`%fmt()` macro ](#fmt-macro-66 ) +67. [`%generateoneliners()` macro ](#generateoneliners-macro-67 ) +68. [`%gettitle()` macro ](#gettitle-macro-68 ) +69. [`%iffunc()` macro ](#iffunc-macro-69 ) +70. [`%infmt()` macro ](#infmt-macro-70 ) +71. [`%letters()` macro ](#letters-macro-71 ) +72. [`%libpath()` macro ](#libpath-macro-72 ) +73. [`%minclude()` macro ](#minclude-macro-73 ) +74. [`%monthshift()` macro ](#monthshift-macro-74 ) +75. [`%replist()` macro ](#replist-macro-75 ) +76. [`%time()` macro ](#time-macro-76 ) +77. [`%today()` macro ](#today-macro-77 ) +78. [`%translate()` macro ](#translate-macro-78 ) +79. [`%tranwrd()` macro ](#tranwrd-macro-79 ) +80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 ) +81. [`%workpath()` macro ](#workpath-macro-81 ) -78. [License note](#license) +82. [License note](#license) --- @@ -4496,7 +4519,129 @@ semicolonN(X) --- -## `$brackets.` format/informat ###### +## `$bpklenght.` format/informat ###### + +## >>> `bpklenght` format/informat: <<< ####################### + +The **bpklenght** format and informats uses the `klength()` function +to count the number of letters in a word. For empty string returns 0. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_letters; + input x $ 32.; + n = input (x, bpklenght.); + c = input (x, $bpklenght.); + format x $bpklenght.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_letters; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bpklenght.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$bplenght.` format/informat ###### + +## >>> `bplenght` format/informat: <<< ####################### + +The **bplenght** format and informats use the `lengthn()` function +to count the number of bytes in a word. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_bytes; + input x $ 32.; + n = input (x, bplenght.); + c = input (x, $bplenght.); + format x $bplenght.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_bytes; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bplenght.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$brackets.` format/informat ###### ## >>> `brackets.` format: <<< ####################### @@ -4527,7 +4672,7 @@ run; --- -## `$semicolon.` format/informat ###### +## `$semicolon.` format/informat ###### ## >>> `semicolon.` format: <<< ####################### @@ -4551,7 +4696,7 @@ run; --- -## `qsortincbyprocproto()` proto ###### +## `qsortincbyprocproto()` proto ###### ## >>> `qsortInCbyProcProto()` proto function: <<< ####################### @@ -4613,7 +4758,7 @@ Based on the code from the following pages [2020.08.14]: --- -## `frommissingtonumberbs()` function ###### +## `frommissingtonumberbs()` function ###### ## >>> `fromMissingToNumberBS()` function: <<< ####################### @@ -4666,7 +4811,7 @@ fromMissingToNumberBS(x) --- -## `fromnumbertomissing()` function ###### +## `fromnumbertomissing()` function ###### ## >>> `fromNumberToMissing()` function: <<< ####################### @@ -4718,7 +4863,7 @@ fromNumberToMissing(x) --- -## `quicksort4notmiss()` function ###### +## `quicksort4notmiss()` function ###### ## >>> `quickSort4NotMiss()` subroutine: <<< ####################### @@ -4812,7 +4957,7 @@ call quickSort4NotMiss(A) --- -## `quicksorthash()` function ###### +## `quicksorthash()` function ###### ## >>> `quickSortHash()` subroutine: <<< ####################### @@ -5053,7 +5198,7 @@ call quickSortHash(A) --- -## `quicksorthashsddv()` function ###### +## `quicksorthashsddv()` function ###### ## >>> `quickSortHashSDDV()` subroutine: <<< ####################### @@ -5184,7 +5329,7 @@ call quickSortHashSDDV(A, SDDV) --- -## `quicksortlight()` function ###### +## `quicksortlight()` function ###### ## >>> `quickSortLight()` subroutine: <<< ####################### @@ -5393,7 +5538,7 @@ call quickSortLight(A) --- -## `%date()` macro ###### +## `%date()` macro ###### ## >>> `%date()` macro: <<< ####################### @@ -5436,7 +5581,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%datetime()` macro ###### +## `%datetime()` macro ###### ## >>> `%datetime()` macro: <<< ####################### @@ -5493,7 +5638,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%downloadfilesto()` macro ###### +## `%downloadfilesto()` macro ###### ## >>> `%downloadFilesTo()` macro: <<< ####################### @@ -5625,7 +5770,111 @@ run; --- -## `%filepath()` macro ###### +## `%expanddatasetslist()` macro ###### + +## >>> `%expandDataSetsList()` macro: <<< ####################### + +The `%expandDataSetsList()` macro is dedicated to "lazy typers". + +It allows to expand data set names provides in form of a SAS list for a given library. + +See examples below for the details. + +The `%expandDataSetsList()` macro works as pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%expandDataSetsList( + lib + ,datasets + <,quote=> + <,views=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `datasets` - *Required*, is a list of data sets or views + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `quote` - *Optional*, binary indicator (default `0` means "no"). + Tells if data set names should be quoted. + +*. `views` - *Optional*, binary indicator (default `1` means "yes"). + Tells if views names should be listed too. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data x_a x_b x_c x_d x_e x_f; + x=17; +run; +data y1 y2 y3 y4 y9 y10 y11 y12; + y=42; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Display names of listed datasets, handle not existing too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 notExist_1-notExist_10)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Display one and all datasets from `WORK`, names quoted: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=work,datasets=_ALL_, quote=1); + +%PUT %expandDataSetsList(lib=work,datasets=x_a, quote=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** In tandem with the `resolve()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + test=resolve('%expandDataSetsList(lib=work,datasets=x_:, quote=1)'); + put test / test hex72.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Workaround for `proc delete` not working with colon operator, + observe a warning info for `x_:` list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +proc delete lib=work data=%expandDataSetsList(lib=work,datasets=x_:) +; +run; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Including and excluding views: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_); + +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_,views=0); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%filepath()` macro ###### ## >>> `%filePath()` macro: <<< ####################### @@ -5665,7 +5914,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%finddswithvarval()` macro ###### +## `%finddswithvarval()` macro ###### ## >>> `%findDSwithVarVal()` macro: <<< ####################### @@ -5793,7 +6042,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%fmt()` macro ###### +## `%fmt()` macro ###### ## >>> `%fmt()` macro: <<< ####################### @@ -5862,7 +6111,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%generateoneliners()` macro ###### +## `%generateoneliners()` macro ###### ## >>> `%GenerateOneLiners()` macro: <<< ####################### @@ -5980,7 +6229,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%gettitle()` macro ###### +## `%gettitle()` macro ###### ## >>> `%getTitle()` macro: <<< ####################### @@ -6066,7 +6315,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%iffunc()` macro ###### +## `%iffunc()` macro ###### ## >>> `%iffunc()` macro: <<< ####################### @@ -6267,7 +6516,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%infmt()` macro ###### +## `%infmt()` macro ###### ## >>> `%infmt()` macro: <<< ####################### @@ -6324,7 +6573,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%letters()` macro ###### +## `%letters()` macro ###### ## >>> `%letters()` macro: <<< ####################### @@ -6442,7 +6691,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%libpath()` macro ###### +## `%libpath()` macro ###### ## >>> `%libPath()` macro: <<< ####################### @@ -6487,7 +6736,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%minclude()` macro ###### +## `%minclude()` macro ###### ## >>> `%mInclude()` macro: <<< ####################### @@ -6700,7 +6949,7 @@ quit; --- -## `%monthshift()` macro ###### +## `%monthshift()` macro ###### ## >>> `%monthShift()` macro: <<< ####################### @@ -6849,7 +7098,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%replist()` macro ###### +## `%replist()` macro ###### ## >>> `%repList()` macro: <<< ####################### @@ -6965,7 +7214,7 @@ run; --- -## `%time()` macro ###### +## `%time()` macro ###### ## >>> `%time()` macro: <<< ####################### @@ -7008,7 +7257,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%today()` macro ###### +## `%today()` macro ###### ## >>> `%today()` macro: <<< ####################### @@ -7051,7 +7300,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%translate()` macro ###### +## `%translate()` macro ###### ## >>> `%translate()` macro: <<< ####################### @@ -7115,7 +7364,7 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%tranwrd()` macro ###### +## `%tranwrd()` macro ###### ## >>> `%tranwrd()` macro: <<< ####################### @@ -7182,7 +7431,118 @@ The basic syntax is the following, the `<...>` means optional parameters: --- -## `%workpath()` macro ###### +## `%unifyvarscasesize()` macro ###### + +## >>> `%unifyVarsCaseSize()` macro: <<< ####################### + +The `%unifyVarsCaseSize()` macro converts *all* variables names into low-case or +upcase letters for given library and list of datasets. Only necessary conversion is +done, i.e., variable `abc` will not be converted to low-case letters. + +See examples below for the details. + +The `%unifyVarsCaseSize()` macro works as pure macro code. + +[NOTE:] The macro internally uses the `%expandDataSetsList()` macro. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize( + lib + ,ds + <,case=> + <,debug=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `ds` - *Required*, is a list of data sets + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `case` - *Optional*, single letter indicator (default `L` means "low-case"). + Tells if variables names should low-cased (`l`,`L`) or upcased ("u", "U"). + +*. `debug` - *Optional*, binary indicator (default `0` means "no"). + Tells if processing notes should be printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data aclass1 aclass2 aclass3 bclass4 bclass5 bclass6; + set sashelp.class(obs=6); + Nn=_N_; + if 1=_N_ then output aclass1; + if 2=_N_ then output aclass2; + if 3=_N_ then output aclass3; + if 4=_N_ then output bclass4; + if 5=_N_ then output bclass5; + if 6=_N_ then output bclass6; +run; +proc print data=aclass1; +run; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Convert all variables names to low-case: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,aclass:) + +proc print data=aclass1; +proc print data=aclass2; +proc print data=aclass3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Convert all variables names to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,bclass4-bclass6,case=U) + +proc print data=bclass4; +proc print data=bclass5; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** No conversion done: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.abc; + abc=42; +run; + +%unifyVarsCaseSize(work,abc,debug=1) + +proc print data=abc; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Variables in all data sets in `WORK` converted to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,_ALL_,case=L) +%unifyVarsCaseSize(work,_ALL_,case=U) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%workpath()` macro ###### ## >>> `%workPath()` macro: <<< ####################### diff --git a/baseplus.zip b/baseplus.zip index 4a93a727288df2b323e3fa55b14338938f0e5c72..bddaeb003613db125215ccc50712e412a0993bb9 100644 GIT binary patch delta 27702 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 SAqr**~400UVMhF_61Z9q~^r zyi|vG%Acpn<{)7Gw`9F$TE~GC*g>6W)?tS#b;@y36apvcB&To^9q6x7rwrR6;@yYz zbrRPxQ-XNXa2u`tO+@?4sBQTZ+B?sA3W~8H3`zE*Qt44q2{TDfrC$lKnsih%qU(Gi zUb%{);gtj`cDpT69*l0sXZ#C)BzY{__ct4zEg{<%re1+^`8r{PgL5+cIgOFh4aw9r z`t}57aGF(VE+@$%jxrGz4m3iQ6g4}F3HanS$yA{qYcLYkr3s|2Vq?`))@vB%HT!;3 zV&7%c7U zlgtWw9Y<)}iSmU~*7dar5nb7A3 zr4B3wxfRKSSVzLag$R|wZ(`LBpLEi8Kv#+xpb7!fO?~4F$9)ZH)FJ7Ue?u_CV&rX> zE|NWn2jbp&QV$mVe?K$R?+{e{YZ;yaH;X&H2ixPbj#c4`?cvrzt5C0SoB#(55m$k_N@68Gg7Z+(^ z#ihOv{||K?Sa>Y9yOukO--_wtL4o;95YWdkG2gNJPPsg*gF1V;seKMxXOB6InaiKC z-#3YBEf{yxdtV|PlQci1j1*NpIbKbTcE8opUC%T05N)nP^a6L^cSgs1YmOG$ep<`V z-eZXy$}+d3p$UXqaeZR}!0?MerX4%H*E(02+8z+viqQ>3IBIRtgrjFP!spL4?eXWN z?_R#6pLn~-BLBKK|0!0{VurT$m9TD+KF~Z3ndCj&S|TMSgb=)oH4~?JWGTzWGSluP za%OmF0yHa+AH~J@?cm(O!^w}szcHvw_d$TQu-dOP4+mG-(CRP)5Txn0x|cp0q;mLX z0R(;tD79tCrLD$UI=)2CXkkP?d<&9|>BP(4*BtNK!l$_8jBz%^e+^M@Ra>B^*sC(Ff;DY;UE!Aw5|1mAl#3Ru^#Z<)!o^=px zCl_3RmOb%t&`Z$L0-heC$#~FKoazmX^$LAH(@**?`L_$TeK~QCSa3l3~42URC z=@Mxt#gT8B@q$c^PJco_!-SxHMz~Egwnr~&)Lf5l&+m`TYEgfo`?5>|Q%IHi^Of+& zy_%jRiBt^I#oOh6eh4m4WyNE14Td<~xi-%=1}Wqa;kya%Z^3xO?! zQdvR+*Qxw2;4E`ThY_b9Hx-yIBf`Z~{YA!8`ptwWPYr#2B1hr1SjNlYw#W#jwUX<4 z<^Fk~E#?$0S-$GrIZr|a z?-nCcD}R8JQP4`fs!|@Uq^sC*KH~}W4zY296mOOqXem4S!e!E&8tP%CiNPys)0T+Z zi}_OvyB?-E2)BR=votclRI3liU`R_;+il}~sN+E69y3I-5yl+s&fm6s^9 zGgrGzVE;1Qv_mB0q2>4642lb{Y}g+KHcV-+4n<>Z4L$siYZ{#Plolvm-49pX`+DoZ z$@D3&kWic127ZJo0YuE4ru zej)_2VbemjmY~evI@X9w@nSDvmo#e36!;)c0Z2bzB(R{v0DPZQgWtpud8hZeBOw%1 znitn^MK zgkYB`)o(?HmnKbbyUEbrTkr}kJ{Kpqg-?||ns%69*XdLiRdsB|s85bl!rp3XE9VKJ zKuCmka$U1zC3Mww+bntvSkRkW!f&fiV9ELnEQW3;&j^qEL{(ae0OXqNLPPznvgu7u z>+1@}H`Uih;y!h)g2`1KRUU30{;f})5r|KJr2I#Pc@7hV^4bW@s5B>-&FZ2`_Cnr$ z)@Vm0-y(Nz!p6ZBuCjLl7h=H05>_i4;GRja2DvcD)QomA(N^}A`u?P!)va+9@_T{p zJ&v6{JV-}ni)8Zhh)h(Zpp>K6Jx6^X4v`4b(8LG?cGNrvAcA#w0>GvGB z2|ri#pIk=5+k8-nFB@UOmoEKgwv-J-aoKYF%am?;uzw5VTmSa<_ENx26gY$u9pWL$ ze$u$UdV&ozuNb$(oN39)e>Smwc;xsVTatn4%I@{<)0fQpEw7xf50N5I#+?pM z{5#8*d>KXS;AdZap@hL(UI!PgTrbz|AI5eNsF7?ym~X2{cm$5D2#h83-N`aiV5)v7 z87`uD$$Y|`=`SbtFABgi*}jX>R4dzJuR+SsUOT#&9r8LFOU@GD;8nQE?j+1;YIx(vUSwSs3m;SXPDMLu_^{NgVo<6 z&H2B{tUIP!Due+6p%+OYprQoMoC~;6d%6`C-;lHqm3y^vs2ZkMoe#=uqb*8%hipb< z&0DIKu}w3=1tEk8UzhA7!!8CKdBM!|QjidZVm`{+t)!weJp~>1L$T#v1RjBT1qGBZ znybF=r}q^FTr#uEPIsTVw?7n@kn$lT^e)Hr3>TbnvSXu~W)b8y1<8QB>f8C4ta*;c zM~4AsTpW4#f&`!-Apy;lXLVsm<5w_O9-;9P#E0OBOl^j7VjFAVtcA@>owMh_pB3In z-o>zZHki6q>jH`{??;&u*KpmTjIXk_Df!4@KG@$yEetfUPJE+0vpj`G_M!D*GwqzV zuGbeRT;f`~^>!i1{EC2^m~uW?(n4A)X}=oZ^?6%gl__OJuZESnM++A_QQ0}xgHpSe%bah#%-P#;PTW>@NohhoYWK6`MI9;zbb~GK5wdYb}X%#4{N_^z-Ag+ij4HTESo5Ta8E_!jBM%L4-rlXOKmZ-+<7; zWOuZ1?UAc;XTAc?+MK5^5vYj195)GXUm}>~Lj37A6!PAS|3&;nR9pOBnART@KxK#Q z8Eoz+TWScBV?ESruYD90ZnYS`i@NOy&r^0MkFJ|@oW7^KkmZ#g#Om=)C8u{l$|BfH zBk;qnpY;^pHdUx9+v;8*;#=1O=ztw*+uZ7QP7kBj)2}3;2Ot9551dJpfmrE|f@*u- zZ1hT}8Dj|JizHrd4R1jQ7a$U;oh^PxaxFawNH9#knh54!UDQ zN=?R{l6Gpf;g)9QjH~w!%?NBapR|fyiXWUv__@3O^K1DeV?f5{;mInmTAZ?w&)MyA zVLE+KrMW7&hd=Tq}S#1+7^Rpyr5D zT!jU~4egY=B@3fEsR@$Fg0-Sgp+w))@K*oUpt&s^zgbBr7Ug8clA!Hta zaL!gnpRh&nq^)CY$c)OYjltV9*JmWz0%IgSU!ep%ezXe63?iEE3gKhY$QidnoX1|i zvKm|k;9oO*K5zRYnMxM8j3)Q$&U8!sUVb(Nm_ymKbfuexd1d$)spR7KQELaWLgg?+ z;#12mVgKOc+vF~;vyBAGum3>Vxd>ui9BS4AkVv54IIail1Qej57akepst3q81!_o) zo;QG9BD;N!FwPkqWpQo5nnn$Dg6{bmUcWDdw!)lkCx-{o@mysrlQJ)Z-NEx_BHD6yGR)k1;-7+tS&M;Vpw$$F2 z|LcBJ^$b`z%l3`~n{vSRNL1`iIcw%;c>$8G7Jd7>=;{yi94+M}(hG8L@{u&2f0n## zXlPGE>FX4#}3_U>CwKir59eQI! z5vk2GPwfWrmp)a()U!Y@RWIQf#{iIJMTU}8cY19A4yr(vO2LLi!&;_LXqUa5Eyny0pO-jMjVru!Qj)*QhSbNC;p zGH1y{^p4N7b!cij=nQ$IFkdIr-J4lS1-9wrUAT~c)8+dwE6^;*kT~EImUj;WsjL*D;Zq4T}q1f;N-(?-!I`bkB7!cpL2< za~>nc+$?h{e0ln&bT|2-6i`L6nbkG0)O1Fvn_TLx=}{<)ATH(4&kJa@WroYDvg&`S z=8|jD<55%FGZK{sL_|EW!~*5_^;{F>MY2&@6S5i98CTnCwzokSnmSgub0_{P@)rvrI$QQnpQbj6ianDty(X` zj+|jaiJL?puri2N`aTMmwOQ_%?)H$nKW-}EcXZ{Mp>Yb{WOU2xDdemI95)Y6cuNOk zuG8CX4!$(#IeFCo83fQD1gFHc6}Xc?<#uc@OtFSng%V1_T%C^ zaBFpx3LS*f8{PRe0A>Ab&b=m|b%dH$-l4Q=d2g)25TCEpL;_^)V_+1br^I~M9R=Ou z7y^G6uF79h(Ie3NacP$>NKxYg@t)i#N7Hn zEo|dr+lnCa;>s}LT^f9x(Css)zUcEK-k#iqgzP)%ALb|>?+HEEP!n3rZDsdN^c7t- zY5qZ{vNz~{!TZ1C8N z-RoN&qzUC-VqNCvUriN)nSSW9+~8rH+a$upD}VC%8e;9onUU^)!9id&KnleYJZ%sK zm~WmRx`bT){N$%Zv+HdaIj>$7#U}=N(3IWx0D2>wB>Gm;y`86<#j7Qaz3ca@i^Ytc z#WT*yxl89?`&tIA8k4wp1T9~lWcx+?h}K|fFYQ36Trt*M+&@32y%(XP4zvcy!v|!C zXnLpFV`~OU72ZC;6L^!5EB(lI4V#GoaOp??x$n8bGUg6CLZ^NKti-*y6Be*d7=@QQ zsx1YRVCj$t0^Of@y6nPzYLE_#sZxWT%-03H)VGu3oaXU=7ykls`zZ7S2uv#52|C2g zr3l3u>YKv+wohUmgn}pf8kv57Z7jQ_*Gl}D`mMkVhra|lP4EQ0l4%=)hUyRxP_aZw zejbifJ;G42;qyvj&a8}uLd!mFBSR^1rc;2nf}SVP!pxmEV(vjZI~CLMQ`+Goe&8E4 zgfzgkwfnDg4?fc?$X96f%eB4TA53pSH;^Xu4w+&%ba@LUpL^bo_k53(YB3>9R%j5^ zjVF%yD#UxFSQ86k^0}pw0SW;Juq-@}ID7h_y72t{bB|Dz?Q?qy`TgSU_=3~FQ!T!o zNrVqZ48xMGz9Yd2YRsH5MSMp_5MEBV#PfPvNc`l&^S+$3Auq7;;mF!vs;rAlmH1P} z<2P}r`soXC9JrqsW%|!TmAvk4r5=`2gzkfHW}-#deqTKBq*Cr`w!cJg0fNTz)(}(_ zf>I7n0vr%+XqmFJ7w}=-Q^uzj>)@mFbG&l>i900h+i~gOSt&1F)CF- zwP{~>tO)*g?ZmIOv|kK^@u5HG?COa2?H2)|c_3wgG^U*5S7I@-?-ad8$OfF}zbwT! zAVgh7=rCM^&lsg01x^KW5c8^K_l=-d`1L(~|s)S=1y%W>b;a6T5ho@)FAKfMZPg~_Ty73o@x zStC?9v!Sg9?!hay{0oX(Zfg^jXmSw37Ln}_)GPgaMg#@ht~>|cfy-}Tc zbFy}dv?f_fX{%qB9DDM^eoR{xj?zMrmzP$Ndx9Yan|~;OMaS)d^W@}!J;Is%O|gzm zAEcxsRlb;#bXn1sY>;%fnxTgfWAkC>@#@yRttCsbz2zmI>0Dh99k}G3cb8QJpbrA6 zHv+4m{BZ1iu!_1TKvfYI%267jfl}bj>Kv?pWxWY0y0{#MFK0u4o&VfrhjM`ylu4)C z=!pI_45hSpuOG$*mcu8q4?e7tYtL!KAnh>nvm9l&xNEISyo4=Dh3Tqtt<^o(Hy~l! z9+_~*5R;!CkC0X+MCn9=CBOl?s=IcLI2JadJEGqwHMElZuBvGcV~`J z6kG4jm-sz{LzI_iSq_`6*J-)ItjP;x*{ca7le-nQX4x7iq$F z)7Xew>jDIN4*MXq)!2GDHCR1*=|mOt?OCge?@6m-;>6T}ht#GYN)b+Lad0{xeRuEJ zRKFEkJnoCfb5WA&udcAfepIg=6G?>b>VVVjp}t(31Ooh-k!DLF~aF={`>vW-k)MX>iYMZSs1N*(Snp>$8N@3 zgWr^p@2b|E$(nQ8N~*Lp*6+M0O27Z847A}V`vXELM4T=BEBIirAni9tbVRA0HC2@B z)lNihE8i57`8bh!A!{vp{iOVq8fja|P&io%J{1+xYQ3Zx zL@B^lC#ev#y?qrg0I4}id`PV*c~xnr!=qMQJTX~Ysct1ogSi4^D&j&gd!$G+)I49U z9ELGbos0f1LJx%O?7-j`bS-MGE`{^}oNlR7(z3zJ?NNLvM)J%Cs-WMSEuL|E5$K5T~nWwOe2tXYp4 z6iM(MoeAEuHkPtfS z9lb@nE-Qf9t$H;TNrIyq;Cv$gp6&Q87?QY}$7zhhXw z7X8zCLO&<@1<*GkaNIQ-*Xa=tE`A?&UQc$yEkuRspP?4e5@sinVqQc;8-?!be*%Cx zI&l6~{n$Q%a>#?6YLMwg+NqPnhuv|83~=r15CxT8s(BYe6rWB2^kCey87A|OMtZ0c z?9l0p6cXEb3Wyj+t|T;UUm|QK<^cb+16X2kQ-5#;qWg|&MaClxb8?5D>yC%hVZ zV5}?1CBCyhb~YB*N8hAIdgGtW;%1u?H-WkYLLAfOud80}&;q3MhC8qGKFt}OJsJZU zapcjRr5W@`%>C7XE0WDKQ=1RG$Y`{Ojfr`2Luo zOD{a*$hs(_96mOEdPYVV6eB#!i}nev2I#mWUb69+xhV>_gQNSe*s8i zP2XQ1KHl$E!qt>17MOymC;8ab*tq?QVMk(S^;vMeW+v|dgpEvp_H~r7fy1pWe8DzQmoC8FPs?$T_0Gxn`12RZ=iU(sn7v?5rZ)S-Vv3*oj`4le3!QlH*XqlIXEZWM)wV+-svd$wym*2Q21dmtnkvCx%)2c?DYsPq&csqU3Z?&d|e;c?; zJaReGeO}WP%>4^;JpnseMBla+uVd~R>HSH07^{Gyy3H(y7RR#BMWjnxgQO*IR}}xa z^W|R}A@@Jc`nue))~=P4mR{8>v@bQPDu%qe)1l(HG3BG2c_ukZnCa7Y7wDfVrMrI1 zd|OaaBZR*XWEBXWuOQ`~lL<^w`!!+UBqCKv0I8* zxG)JgVo)OZexs9nFC;8oShQlNedyXudGXRiD{^z=V(T+B`nF}2o(NJP?cb(Hl>UCX zd@^5IxOwhJc~LfJe#ClWU*5QKDcinPX{JJH<6%{7!d zddz`DX05^ks(&!^M7@Z0THG=9kTZuoN~IMjT4%^xK_S90GXI>~b@)j)4cAp{RGYdr z`&7*)+|Z6P@zshtu~f0)k_eME5eqrNdqyraSakouCHP=(g zR1i3@=AYXtH(D$Un{tcCvLEe?gd3nB<1z+g3`(Qn)li;_55^>}9 z>M#w4N?qFmp*DqGF$eJxxDM;!w~(_gxVh@6)BEi*e)1>o>p6KLzRbLB;`^)+u$`0i zbx>lko;%XBLxRhYo_So??d(o+{T@>>jW509OvMfP`dkrfU5~Z}uyY9D01!U?T46#J z<0hA(@dMYvtxpo zwEMWrf zOSB-gHy_(OeVr6?#E0LrN9o&n`W$}}w2zWFzH>7s2B>XCO@!=U9GVA1^6t~I=oU_< z^#A#(uw&|}01KD>CjJxYOo61hb({{ivU8OZ1kw&)T+CyS#vh?Lfd&xQ_(c&R;@QA) zxu-W%gJVZC3dMWW4OJMU{|vG?iE+F7s>jK)aG%Rg65Qce@F%V1&GU?D}99eY`sz`C-p&A?*IFO!}roLNQ zFUEl*b5G3CLlAXQ2s%|kpVw;tKy9etdX!g1ZCIo+ZI9AAY(gO7H!w2!sc7~|uRax5 zAF8OuVVpF>-A~7mD^iwmKl0<-5{b=^6f-h6ik>N#%ErLzq~>qmwB9-^@~l`0E1|9`I|%8FkGOT&BoXqhRh7^AFFVR@%zQDDH4aW`qcw3Z z$1D{}cuk?7<^up~W6hi`xm@Psx1m#;q8!$13zAP;C}OOh{W_4{O1nh!V2~|?I*6N& zK^T8Eibql8AzU+`T9Q#m#~|a_V_# z8_tC}cAA@zLf5np58J(Cx+p}&w6ug;svQ`J`L$q{d2K+v-&O@Yih(Kaxf=t%ERfZ!q3-*eSJY5kg8V1<5*gH^?Xi&dF_VD+?F{c1Wh%dvD?JaBB9 zmALAORWvk)sO~{zSL{TGUAC@jz#h+Au5C+GI`H@AMsTXi2Y$zE+m_d?PCpnnmE|r> zKW@(k@YY5l?t`ag-IQq1|J|M2QH3!yqXN|v0RmjdCVnZsQNXWh&ckgQER|DM@i7XA z<-ZNz#mya4`2uN8rc%g}hB5W)dWXQsxgkr#gZ_F%%i0Vnr>L3z8}}qdj=oliKv#V} z$_O`;pR$RVkDD1JD|xK58O1|wyIofx_}+9T5r-h6luL?%MyEvFkNvx#a(U>CA5(nWbF|IXtWeXlqZtQ1zD zzKb%)ueOMSb*+c-Gmo!E@KONoxnme8|DNuO-1HeO@qylN{!f z`I(@qE~(I_7j%Lq8{>nrJ8ssY!;{?I*PuRu6Jn}MYAId&m3P0>{yq=pF|`UCNWMSt z=lSBBKLu7TbGD?5rGDwtR3o1@dls7`0EtEdKhvK))wb{Te0uEFQ|ZpW_r5e4datJY zwx;!R*wuU&5}58Q*9+Oov+W3?MP8RTh+cNRsQNiJT9dUD6(v8~z4=3i@t8L2ab$46 zo-KPUh1}V-hSQ>uwdWFAPriBtI6~3@b~S>b2qqsXw6zppDd5PHGg!xyeB}}rLJQu? zyT|;>S4;*whC~K+tdIH(icqS27jJ&&Xb|xq8JuX}FO@pk9cq0)iKJqG*{uNiB)WQJ zxU)I6!7~8LmX;orHC=prBX0X8nzQ3xF`%hBoC838Up+@7I=^jU=sd;)X>{FBKAOiB zrebjdmU?6O+ixG5hHZec9jy4*`l#ZRkOH0V#==5`Gz^@tS_^~p#fV@9JS-J-B!wGM@*f`$AmTs7qDP5S7p~z#FZaO9_ z;g7uTe#-2mB};FiPxV6rLJxVm*rfNDH^mCY37xPjygltF)e?u^*$k9zrX(o#_Z@8c<4|(vWQStJYlHYs{ZdSB))0VDl-o4MhY~n&GAMjPoJ7^>8|10?#;3a4w z!2ccyXyBIl{SQzTSO3AKYSur9(fS7UpUs598RGw-pv~@|rqjs-=|2Hi;6DqVAJ||1 zGgXiK0sSBBq}KmaCFgiUfGhvK5_%yY)PJB_ZuAdYYyTSmPbJb?K>Z(_Y|BIb2j32J z{;Ae4TK-9rZ}0zk{d|dm`=3nE&4}7BA~JVXh94#VOjcFAA+HGG+YVD4BnIhW+;xhyn9g zW&?A3r|(8CDQ#Y$WPp;w8Z)wAOyZ|Qkd>h5obqOF)$clKW>8@ps_*HPt>jBX*2Wsm zBCCAoEti=y>cVE_#hZ~Ax6ilkN0;lcfgsgkElA9`NL@bzQmWLqy|=x?!e%ZXcW8d6 zPK=}6q4wlaqOfd~9O4ROC95NS zDm;8Q(jP**Ff#0QAk@BKXVH)iU$0~EJqHSr6($sp{*b#@3mszW)*cJ$W_BCqn$*~kXar&_P|gV%697Zye+zx9y(*g zVl~d^i#pb`DrM;5`zg(m$EAfus`JreZ>O82)sfCd{vHx0RF$62M|zWI&79*Kr?M7K z6(zWj@|3#rD+t_6q|`k8e{Ea~I8|vE-rqSpVNm26I_J0+C7}?JLSdAWYjRDKa!sZD zBoi}5(v0*q8e*CviIQ;~xyHDY8kuUO7-MEkDbxR(WTyVL_dcfCHT!wa<2>(P@B6K9 zeQT|6@8j%K`F)shV~&oJ*J{)LTOPf4C)$&i3ipZZ4lj}XIaf%Gn-i{rgv_j0Jf)iQ zYUL}$WRPKz;qri8%eogQtcl2;k_|BK$u={Mk#=lL$^UM=;=E@5WQT$7T#2esQKesC z)eW^5=k;}D9imN>FBlZ82@{kQN;xm|xp>pDEZ^o@bZV--(m+@CRkgtIE&je8n6Gps zX=k^EOOZ*1vzl2{d;D}mvQBQB0@|Nfi!CCI`**v4l6Q6a!_l_lra>bqc_p_ZET_SBfXUt* zDtlL^Di)Y{xIfEEOiUaXox8%9jJB+y?H-9{*?dY*iVF1IE_#K6B2N z;TgNH44IUv^`Em!qTOULs!yW(f3YFGyRRX+%JgSbgE~VamtL<^?6*y79KM&|f24cy z_g51_3(U6Xxr*eDJy`zHwUe>NYE8TJHpeY&TaDj^P`q zCh`Ucwq>@c4jyU|PW%#Vu^{8tVDRgW$xSjJ-%bndJoTfQ45x7F`gzqI2}^gJ9`YXz zi+^-MAu!cu!)14;!j`L>a;}FD#GW9@aDQ+QA_+*e2xQuIb$U z)Azn0I`p=T*c|HjR9V+rKd?3KNOFWK&njxoKqSAv{rM{CCrQ%N&cz88oF{9O@(PUl z%KL)zyuUPsB+XbF?re7^)goEmWcZf~tEbVki)zc$EK}@^Ld;Xl%FVsz86-4c7!s83 zSm<%$W2f{T`;MQnkNhQ5Hoz{|y;C}UeW+P}>Q$+GeMM$M>m>rE=Z@{tZU~sv8m&q<0Ay209hvp>L`0oxH+UMMnh#s9^e6lDBHos$p+FlQy&kO_lX zb)v6j>CuMop%g|r>>;|u*eQ*oSyJ>_&1dKf1{3{(j2OGIY2?XZYe~);M(^lsP6oqJ zmFEbVt>umiCyBA!!sm#+s@CR2Fbo5IjuoS~(~xtQdDmyb;c+FYdY#rVt;f?=981cJ zPtC14@Zt*1t;rV$C- z(U5!&ev~FWEF?5CHqYouR>7+)Np()m zT)eH4!Gljt>b*Wj^hG zG|C_45=1e0pv1D$aljQqQk#y>10ku--Q+}Mz1gCKWvfVe8WmJQ%nUYQn<`RYK#8gJ zzDn?bmsPdLE0B7#&1I+G}0m{pC;#4**R7VYj(VCwTo*n7SL zA$IVlP7_%ZXOwYAwbQRlqU!n zl|Gmu!;5gr4N{k;l~AWd1q7kNqHV3jb81Kfnr2-CH1r7j z)QD+Gt$SVEV1gej6Hr6U!Hl+f1fQ!Rjc8ggMf>k>6rhS{)sjjys#yzY=>%R`OD+;n zuJ22mJ!d`C5z@->Cs|oSNfyuV?O7Fy2NOkDcRB*3z~rIHLh7j2fhX zlGy7A@Ft{!`x{6_8h%Q_Zcbu2zy(QR!$xrwRyM*ps}JdOn%HdvBJn{uM-M&5?|b**hU+O<>og7Pz87KnHaHuSC)TnmL{jgW1cC|2 zybve0iA%G90&PH`KPz!wyI7+o zZ1SupG_Mn|FY{O$%c>D}=|ueZ`knR9BKx(lVXlJ>6LN|^n03F`ij6x+KHZ^ywL9^| z7o5|Eoa3{s0=jT?hqzZ4bbvn}+{JYru+vc)VyhDt-~qHRfW~fY^9C`uQ{31Vbpowy z6gzf`8{2LQcsz!Wc8c3=830_%7YKI)hmO|bPbwa+lOl*TC}8$hb!ZZnx{K7I9r#NI zms7W9N?^mTJvjn>Lzu;cx@8+%Ng2K*~B6N_u}K-;DY~re5qSJq-0{_#uf@ diff --git a/hist/2.0.0/baseplus.md b/hist/2.0.0/baseplus.md new file mode 100644 index 0000000..ba84be3 --- /dev/null +++ b/hist/2.0.0/baseplus.md @@ -0,0 +1,7609 @@ +# Documentation for the `BasePlus` package. + +---------------------------------------------------------------- + + *The BASE SAS plus a bunch of functionalities I am missing in BASE SAS* + +---------------------------------------------------------------- + +### Version information: + +- Package: BasePlus +- Version: 2.0.0 +- Generated: 2024-07-23T21:51:33 +- Author(s): Bartosz Jablonski (yabwon@gmail.com), Quentin McMullen (qmcmullen@gmail.com) +- Maintainer(s): Bartosz Jablonski (yabwon@gmail.com) +- License: MIT +- File SHA256: `F*0730DD793516E5C193842126A7EC9D339ADADD19F0F40B071F938CABDE4E66AD` for this version +- Content SHA256: `C*0352F7BB04B99D620BEFD33FF1B1FF1835E6F8F21CC6A764D05EEE51E77E57E0` for this version + +--- + +# The `BasePlus` package, version: `2.0.0`; + +--- + + +# The BasePlus package [ver. 2.0.0] ############################################### + +The **BasePlus** package implements useful +functions and functionalities I miss in the BASE SAS. + +It is inspired by various people, e.g. +- at the SAS-L discussion list +- at the communities.sas.com (SASware Ballot Ideas) +- at StackOverflow +- at the Office... +- etc. + +Kudos to all who inspired me to generate this package: +*Mark Keintz*, +*Paul Dorfman*, +*Richard DeVenezia*, +*Christian Graffeuille*, +*Allan Bowe*, +*Anamaria Calai*, +*Michal Ludwicki*, +*Quentin McMullen*, +*Kurt Bremser*, +*Leonid Batkhan*, +*Louise Hadden*. + +--- + +### BASIC EXAMPLES AND USECASES: #################################################### + +**Example 1**: One-dimensional array functions. + Array parameters to subroutine + calls must be 1-based. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array X[4] _temporary_ (. 1 . 2); + + call arrMissToRight(X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFillMiss(17, X); + do i = 1 to 4; + put X[i]= @; + end; + put; + + call arrFill(42, X); + do i = 1 to 4; + put X[i]= @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2**: Delete dataset by name. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data toDrop; + x = 17; + run; + data _null_; + p = delDataset("toDrop"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3**: Strings concatenation with format. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + x = 1 ; y = . ; z = 3 ; + t = "t"; u = " "; v = "v"; + + array a[*] x y z; + array b[*] t u v; + + length s1 s2 s3 s4 $ 17; + s1 = catXFn("z5.", "#", A); + s2 = catXFi("z5.", "#", A); + s3 = catXFc("upcase.", "*", B); + s4 = catXFj("upcase.", "*", B); + + put (_all_) (=); + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 4**: Useful formats. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + input x @@; + put @1 x= @11 x= bool. @21 x= int. @31 x= ceil. @41 x= floor.; + cards; + . ._ .A -10 -3.14 0 3.14 10 + ; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 5**: Getting variables names from datasets. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class + ,pattern = ght$ + ,sep = + + ,varRange = _numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 6**: Quick sort as an alternative to call sortn() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + array test[25000000] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = 25000000 to 1 by -1; + test[_N_] = rand("uniform"); + end; + t = time() - t; + put "Array population time: " t; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 7**: De-duplicate values from a space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 8**: Zip elements of two space separated list. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2018 2019 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 9**: Simple Rain Cloud plot. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%rainCloudPlot(sashelp.cars,DriveTrain,Invoice) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex0.png) + + +**Example 10**: Zip SAS library. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, libOut=work) + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 11**: Long dataset names. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 12**: List, to the log, content of `home` directory. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE(ls -la ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 13** Get list of all files and directories from `C:\SAS_WORK\`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 14** Text repetition: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 15** Integer list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %intsList(42); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 16** Split dataset into blocks of 5 observations: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks(5, sashelp.class, classBlock) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 17** Split dataset into 7 parts: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts(7, sashelp.cars, carsPart) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 18** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 19** Get titles: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle(1 2 3 5, dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 20** Format and informat macro variables values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(12345, date9.) %fmt(12345, yymmdd10.); + + %put %infmt($111234, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %let text = ##%fmt(ABC, $char9., -C)##; + %put &text.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 21** "Macro including" a text file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f "%workpath()/testFile1.txt"; + data _null_; + file f; + put "13 14 15"; + run; + + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 22** Repeating texts and lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; + +data work.A; + x=17; +data work.B; + x=42; +data work.C; + x=303; +run; + +data work.test5; + set + %repeatTxt(work.A work.B work.C, 5) + ; +run; + + +data Times2_A3B4C5; + set + %repList(work.A work.B work.C, times = 2, each = 3 4 5) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 23** Date and time one-liners: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put #%today()#%date()#%time()#%datetime()#; + +%put @%today(yymmdd10.)@%date(date11.)@%time(time8.)@%datetime(e8601dt.)@; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 24** Months shifting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 25** Zipping and unzipping directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 26** Downloading data from the internet to a local directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 27** Conditional value assignment: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = A B C; +%let y = %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +%put &=y.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 28** Converting variables names to lowercases: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data a1 a2 a3 b_x b_y b_z; + set sashelp.class(obs=1); +run; + +%put #%expandDataSetsList(lib=work,datasets=a1-a3 b_:)#; + +proc print data=a1; +proc print data=b_x; +run; + +%unifyVarsCaseSize(work,a1-a3 b_:) + +proc print data=a1; +proc print data=b_x; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + +--- + + +--- + + +--- + +Package contains additional content, run: `%loadPackageAddCnt(BasePlus)` to load it +or look for the `baseplus_AdditionalContent` directory in the `packages` fileref +localization (only if additional content was deployed during the installation process). + +-------------------------------------------------------------------- + +*SAS package generated by SAS Package Framework, version `20240711`* + +-------------------------------------------------------------------- + +# The `BasePlus` package content +The `BasePlus` package consists of the following content: + +1. [`%bppipe()` macro ](#bppipe-macro-1 ) +2. [`%deduplistc()` macro ](#deduplistc-macro-2 ) +3. [`%deduplistp()` macro ](#deduplistp-macro-3 ) +4. [`%deduplists()` macro ](#deduplists-macro-4 ) +5. [`%deduplistx()` macro ](#deduplistx-macro-5 ) +6. [`%dirsandfiles()` macro ](#dirsandfiles-macro-6 ) +7. [`%functionexists()` macro ](#functionexists-macro-7 ) +8. [`%getvars()` macro ](#getvars-macro-8 ) +9. [`%intslist()` macro ](#intslist-macro-9 ) +10. [`%ldsn()` macro ](#ldsn-macro-10 ) +11. [`%ldsnm()` macro ](#ldsnm-macro-11 ) +12. [`%lvarnm()` macro ](#lvarnm-macro-12 ) +13. [`%lvarnmlab()` macro ](#lvarnmlab-macro-13 ) +14. [`%qdeduplistx()` macro ](#qdeduplistx-macro-14 ) +15. [`%qgetvars()` macro ](#qgetvars-macro-15 ) +16. [`%qzipevalf()` macro ](#qzipevalf-macro-16 ) +17. [`%raincloudplot()` macro ](#raincloudplot-macro-17 ) +18. [`%repeattxt()` macro ](#repeattxt-macro-18 ) +19. [`%splitdsintoblocks()` macro ](#splitdsintoblocks-macro-19 ) +20. [`%splitdsintoparts()` macro ](#splitdsintoparts-macro-20 ) +21. [`%symdelglobal()` macro ](#symdelglobal-macro-21 ) +22. [`%unziparch()` macro ](#unziparch-macro-22 ) +23. [`%unziplibrary()` macro ](#unziplibrary-macro-23 ) +24. [`%ziparch()` macro ](#ziparch-macro-24 ) +25. [`%zipevalf()` macro ](#zipevalf-macro-25 ) +26. [`%ziplibrary()` macro ](#ziplibrary-macro-26 ) +27. [`$bool.` format/informat ](#bool-format-27 ) +28. [`$boolz.` format/informat ](#boolz-format-28 ) +29. [`$ceil.` format/informat ](#ceil-format-29 ) +30. [`$floor.` format/informat ](#floor-format-30 ) +31. [`$int.` format/informat ](#int-format-31 ) +32. [`arrfill()` function ](#arrfill-functions-32 ) +33. [`arrfillc()` function ](#arrfillc-functions-33 ) +34. [`arrmissfill()` function ](#arrmissfill-functions-34 ) +35. [`arrmissfillc()` function ](#arrmissfillc-functions-35 ) +36. [`arrmisstoleft()` function ](#arrmisstoleft-functions-36 ) +37. [`arrmisstoleftc()` function ](#arrmisstoleftc-functions-37 ) +38. [`arrmisstoright()` function ](#arrmisstoright-functions-38 ) +39. [`arrmisstorightc()` function ](#arrmisstorightc-functions-39 ) +40. [`bracketsc()` function ](#bracketsc-functions-40 ) +41. [`bracketsn()` function ](#bracketsn-functions-41 ) +42. [`catxfc()` function ](#catxfc-functions-42 ) +43. [`catxfi()` function ](#catxfi-functions-43 ) +44. [`catxfj()` function ](#catxfj-functions-44 ) +45. [`catxfn()` function ](#catxfn-functions-45 ) +46. [`deldataset()` function ](#deldataset-functions-46 ) +47. [`semicolonc()` function ](#semicolonc-functions-47 ) +48. [`semicolonn()` function ](#semicolonn-functions-48 ) +49. [`$bpklenght.` format/informat ](#bpklenght-formats-49 ) +50. [`$bplenght.` format/informat ](#bplenght-formats-50 ) +51. [`$brackets.` format/informat ](#brackets-formats-51 ) +52. [`$semicolon.` format/informat ](#semicolon-formats-52 ) +53. [`qsortincbyprocproto()` proto ](#qsortincbyprocproto-proto-53 ) +54. [`frommissingtonumberbs()` function ](#frommissingtonumberbs-functions-54 ) +55. [`fromnumbertomissing()` function ](#fromnumbertomissing-functions-55 ) +56. [`quicksort4notmiss()` function ](#quicksort4notmiss-functions-56 ) +57. [`quicksorthash()` function ](#quicksorthash-functions-57 ) +58. [`quicksorthashsddv()` function ](#quicksorthashsddv-functions-58 ) +59. [`quicksortlight()` function ](#quicksortlight-functions-59 ) +60. [`%date()` macro ](#date-macro-60 ) +61. [`%datetime()` macro ](#datetime-macro-61 ) +62. [`%downloadfilesto()` macro ](#downloadfilesto-macro-62 ) +63. [`%expanddatasetslist()` macro ](#expanddatasetslist-macro-63 ) +64. [`%filepath()` macro ](#filepath-macro-64 ) +65. [`%finddswithvarval()` macro ](#finddswithvarval-macro-65 ) +66. [`%fmt()` macro ](#fmt-macro-66 ) +67. [`%generateoneliners()` macro ](#generateoneliners-macro-67 ) +68. [`%gettitle()` macro ](#gettitle-macro-68 ) +69. [`%iffunc()` macro ](#iffunc-macro-69 ) +70. [`%infmt()` macro ](#infmt-macro-70 ) +71. [`%letters()` macro ](#letters-macro-71 ) +72. [`%libpath()` macro ](#libpath-macro-72 ) +73. [`%minclude()` macro ](#minclude-macro-73 ) +74. [`%monthshift()` macro ](#monthshift-macro-74 ) +75. [`%replist()` macro ](#replist-macro-75 ) +76. [`%time()` macro ](#time-macro-76 ) +77. [`%today()` macro ](#today-macro-77 ) +78. [`%translate()` macro ](#translate-macro-78 ) +79. [`%tranwrd()` macro ](#tranwrd-macro-79 ) +80. [`%unifyvarscasesize()` macro ](#unifyvarscasesize-macro-80 ) +81. [`%workpath()` macro ](#workpath-macro-81 ) + + +82. [License note](#license) + +--- + +## `%bppipe()` macro ###### + +## >>> `%bpPIPE()` macro: <<< ####################### + +The bpPIPE() [Base Plus PIPE] macro executes OS command +and print to the log output of the execution. + +Under the hood it uses `_` filename reference to PIPE device. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%bpPIPE( ) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +* **NO Arguments** - Everything inside brackets is treated as an OS command. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** List, to the log, content of D and C drives: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(D: & dir & dir "C:\") +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** List, to the log, content of `home` directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %bpPIPE(ls -halt ~/) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistc()` macro ###### + +## >>> `%dedupListC()` macro: <<< ####################### + +The `%dedupListC()` macro deletes duplicated values from +a *COMMA-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListC()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListC( + list,of,comma,separated,values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *comma-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC(a,b,c,b,c)*; + + %put *%dedupListC(a,b c,b c)*; + + %put *%dedupListC(%str(a,b,c,b,c))*; + + %put *%dedupListC(%str(a),%str(b),%str(c),b,c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListC( a , b b , c , b b, c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4, 5, 6, 1, 2, 3, 1, 2, 3, 4, 5, 6; + %put *%dedupListC(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistp()` macro ###### + +## >>> `%dedupListP()` macro: <<< ####################### + +The `%dedupListP()` macro deletes duplicated values from +a *PIPE(`|`)-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListP()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListP( + list|of|pipe|separated|values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *pipe-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP(a|b|c|b|c)*; + + %put *%dedupListP(a|b c|b c)*; + + %put *%dedupListP(%str(a|b|c|b|c))*; + + %put *%dedupListP(%str(a)|%str(b)|%str(c)|b|c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListP( a | b b | c | b b| c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4|5|6|1|2|3|1|2|3|4|5|6; + %put *%dedupListP(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplists()` macro ###### + +## >>> `%dedupListS()` macro: <<< ####################### + +The `%dedupListS()` macro deletes duplicated values from +a *SPACE-separated* list of values. List, including separators, +can be no longer than a value carried by a single macro variable. + +Returned value is *unquoted*. + +The `%dedupListS()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListS( + list of space-separated values +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *space-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListS(a b c b c)*; + + %put *%dedupListS(a b,c b,c)*; + + %put *%dedupListS(%str(a b c b c))*; + + %put *%dedupListS(%str(a) %str(b) %str(c) b c)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4 5 6 1 2 3 1 2 3 4 5 6; + %put *%dedupListS(&list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%deduplistx()` macro ###### + +## >>> `%dedupListX()` macro: <<< ####################### + +The `%dedupListX()` macro deletes duplicated values from +a *X-separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macro variable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is *unquoted*. Leading and trailing spaces are ignored. + +The `%dedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(|a|b|c|b|c)*; + + %put *%dedupListX( a b c b c)*; + + %put *%dedupListX(,a,b,c,b,c)*; + + %put *%dedupListX(XaXbXcXbXc)*; + + %put *%dedupListX(/a/b/c/b/c)*; + + data _null_; + x = "%dedupListX(%str(;a;b;c;b;c))"; + put x=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%dedupListX(| a | b.b | c | b.b| c )*; + + %put *%dedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%dedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%dedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%dirsandfiles()` macro ###### + +## >>> `%dirsAndFiles()` macro: <<< ####################### + +The `%dirsAndFiles()` macro allows to extract info about all files +and subdirectories of a given `root` directory. + +The extracted info may be just a list of files and subdirectories or, if +the `details=` parameter is set to 1, additional operating system information +is extracted (information is OS-dependent and gives different results for Linux +and for Windows) + +The extracted info can be narrowed down to files (`keepFiles=1`) or to +directories (`keepDirs=1`) if need be. + +The extracted info can be presented in wide or long format (`longFormat=1`). + +The extracted info for files can be narrowed down to only files with particular +extension, for example: `fileExt=sas7bdat`. + +The extracted info can be narrowed down maximal path depth +by setting up the `maxDepth=` parameter. + +See examples below for the details. + +### REFERENCES: ################################################################### + +The macro is based on Kurt Bremser's "*Talking to Your Host*" article +presented at WUSS 2022 conference. + +The article is available [here](https://communities.sas.com/t5/SAS-User-Groups-Library/WUSS-Presentation-Talking-to-Your-Host/ta-p/838344) +and also as an additional content of this package. +The paper was awarded the "Best Paper Award - Programming". + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles( + root + <,ODS=> + <,details=> + <,keepDirs=> + <,keepFiles=> + <,longFormat=> + <,fileExt=> + <,maxDepth=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `root` - *Required*, path to be searched + for information. + +* `ODS=work.dirsAndFilesInfo` - *Optional*, output data set, + name of a dataset to store information. + +* `details=0` - *Optional*, indicates if detailed info + will be collected, `1` = yes, `0` = no. + +* `keepDirs=1` - *Optional*, indicates if directories info + will be collected, `1` = yes, `0` = no. + +* `keepFiles=1` - *Optional*, indicates if files info + will be collected, `1` = yes, `0` = no. + +* `longFormat=0` - *Optional*, indicates if output be + in long format, `1` = yes, `0` = no. + +* `fileExt=` - *Optional*, if not missing then indicates + a list of space-separated file extensions + to filter out results. + +* `maxDepth=0` - *Optional*, if not zero then indicates + maximum depth of search in the root path. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get list of files and directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get detailed info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result2,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Get only files info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result3,keepDirs=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result5,keepDirs=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Get only directories info: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result4,keepFiles=0) + +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result6,keepFiles=0,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Filter out by `sas` extension: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result7,fileExt=sas) + +%dirsAndFiles(~/,ODS=work.result8,fileExt=sas,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Keep result in the long format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(~/,ODS=work.result9,details=1,longFormat=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Get info for maximum depth of 2: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(C:\SAS_WORK\,ODS=work.result10,details=1,maxDepth=2) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** How locked/unavailable files are handled: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK)),ODS=work.result11,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Not existing directory: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%dirsAndFiles(%sysfunc(pathname(WORK))/noSuchDir,ODS=work.result12,details=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%functionexists()` macro ###### + +## >>> `%functionExists()` macro: <<< ####################### + +The functionExists() macro function tests +if given funcion exists in the SAS session. +The `sashelp.vfunc` view is used. + +See examples below for the details. + +The `%functionExists()` macro executes like a pure macro code. + +The function is a result of cooperation with [Allan Bowe](https://www.linkedin.com/in/allanbowe/) + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%functionExists( + funName +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `funName` - *Required*, the name of the function + existence of which you are testing. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Test if function exists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %functionExists(HASHING); + + %put %functionExists(COSsinLOG); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%getvars()` macro ###### + +## >>> `%getVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%getVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> + <,mcArray=> + <,ignoreCases> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, by default case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + +* `mcArray=` - *Optional*, default value is blank. + 1) When *null* - the macro behaves like a macro function + and returns a text string with variables list. + 2) When *not null* - behaviour of the macro is altered. + In such case a macro array of selected variables, named + with `mcArray` value as a prefix, is created. + Furthermore a macro named as `mcArray` value is generated. + (see the macroArray package for the details). + When `mcArray=` parameter is active the `getVars` macro + cannot be called within the `%put` statement. Execution like: + `%put %getVars(..., mcArray=XXX);` will result with + an Explicit & Radical Refuse Of Run (aka ERROR). + +* `ignoreCases=` - *Optional*, default value is 1. + Indicates if search should be case insensitive. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** A list of all variables from the + sashelp.class dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** A list of all variables from the + sashelp.class dataset separated + by backslash: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class, sep=\); + %put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of regular expressions: + a) A list of variables which name contains "i" or "a" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=i|a)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables which name starts with "w" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=^w)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables which name ends with "ght" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, pattern=ght$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list of numeric variables which name + starts with "w" or "h" or ends with "x" +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, sep=+, pattern=^(w|h)|x$, varRange=_numeric_)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data test; + array x[30]; + array y[30] $ ; + array z[30]; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + a) A list of variables separated by a comma: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) A list of variables separated by a comma + with suffix 5 or 7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) A list of variables separated by a comma + with suffix 5 or 7 from a given variables range: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(test, sep=%str(,), varRange=x10-numeric-z22 y6-y26, pattern=(5|7)$)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Case of quotes and special characters + when the quote= parameter is _not_ used: + + a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%bquote(%getVars(sashelp.class, sep=%str(%")))*; + %put *%bquote(%getVars(sashelp.class, sep=%str(%')))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double qiotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%bquote(%getVars(sashelp.class,sep=""))"*; + %put *%str(%')%bquote(%getVars(sashelp.class,sep=''))%str(%')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *"%getVars(sashelp.class,sep=%str(", "))"*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%str(%')%getVars(sashelp.class,sep=', ')%str(%')*; + %let x = %str(%')%getVars(sashelp.class,sep=', ')%str(%'); + + %put *%str(%')%QgetVars(sashelp.class,sep=', ')%str(%')*; + %let y = %str(%')%QgetVars(sashelp.class,sep=', ')%str(%'); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + e) ampersand (&) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); + + %put *%QgetVars(sashelp.class,sep=&)*; + %let y = %QgetVars(sashelp.class,sep=&); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( & ))*; + %let y = %QgetVars(sashelp.class,sep=%str( & )); + %let z = %unquote(&y.); + + %put *%getVars(sashelp.class,sep=&)*; + %let x = %getVars(sashelp.class,sep=&); + + %put *%getVars(sashelp.class,sep=%str( & ))*; + %let x = %getVars(sashelp.class,sep=%str( & )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + f) percent (%) as a separator [compare behaviour]: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QgetVars(sashelp.class,sep=%)*; + %let y = %QgetVars(sashelp.class,sep=%); + %let z = %unquote(&y.); + + %put *%QgetVars(sashelp.class,sep=%str( % ))*; + %let y = %QgetVars(sashelp.class,sep=%str( % )); + %let z = %unquote(&y.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Case of quotes and special characters + when the quote= parameter is used: + +a) one single or double qiote: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class, quote=%str(%"))*; + %put *%getVars(sashelp.class, quote=%str(%'))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + b) two single or double quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %* this gives an error: ; + %* %put *%getVars(sashelp.class,quote="")*; + %* %put *%getVars(sashelp.class,quote='')*; + + %* this does not give an error: ; + %put *%QgetVars(sashelp.class,quote="")*; + %put *%QgetVars(sashelp.class,quote='')*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + c) comma-separated double quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%getVars(sashelp.class,sep=%str(,),quote=%str(%"))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + d) comma-separated single quote list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = %getVars(sashelp.class,sep=%str(,),quote=%str(%')); + %put &=x.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Variables that start with `A` and do not end with `GHT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data class; + set sashelp.class; + Aeight = height; +run; + +%put *%getVars(class, pattern = ^A(.*)(? ###### + +## >>> `%intsList()` macro: <<< ####################### + +The intsList() macro function allows to print a list of +integers starting from `start` up to `end` incremented by `by` +and separated by `sep=`. + +If `start`, `end` or `by` are non-integers the are converted to integers. + +See examples below for the details. + +The `%intsList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%intsList( + start + <,end> + <,by> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `start` - *Required*, the first value of the list. + If `end` is missing then the list is generated + from 1 to `start` by 1. + +2. `end` - *Required/Optional*, the last value of the list. + +3. `by` - *Required/Optional*, the increment of the list. + If missing then set to `1`. + *Cannot* be equal to `0`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple list of integers from 1 to 10 by 1: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(10); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Ten copies of `sashelp.class` in `test11` to `test20`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + %zipEvalf(test, %intsList(11,20)) + ; + set sashelp.class; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Non-integers are converted to integers, the list is `1 3 5`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1.1,5.2,2.3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** A list with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %intsList(1,5,2,sep=+); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ldsn()` macro ###### + +## >>> `%LDSN()` macro: <<< ####################### + +The LDSN (Long DataSet Names) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro has some limitation described below, to overcome them +another macro, with different name: LDSNM (Long DataSet Names Modified) +was created. See its description to learn how to use it. + +--- + +The idea for the macro came from the following story: + +Good friend of mine, who didn't use SAS for quite some time, +told me that he lost a few hours for debugging because +he forgot that the SAS dataset name limitation is 32 bytes. + +I replied that it shouldn't be a problem to do a workaround +for this inconvenience with a macro and the `MD5()` hashing function. + +I said: *The macro should take an "arbitrary string" for a dataset +name, convert it, with help of `MD5()`, to a hash digest, and +create a dataset with an "artificial" `hex16.` formated name.* + +Starting with something like this: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +the macro would do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%sysfunc(MD5(peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s), hex16.) +~~~~~~~~~~~~~~~~~~~~~~~ + +and (under the hood) return and execute the following code: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data work.DSN_41D599EF51FBA58_(drop = sex rename=(name=first_name) where = (age in (12,13,14))) ; + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +Also in the next data step user should be able to do: + +~~~~~~~~~~~~~~~~~~~~~~~sas +data my_next_data_step; + set %DSN(work. peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s); +run; +~~~~~~~~~~~~~~~~~~~~~~~ + +and work without the "dataset-name-length-limitation" issue. + +--- + +See examples below for the details. + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain dots (`.`) since they are used as separators! + +- dataset name _cannot_ contain round brackets(`(` and `)`) since they are used as separators + (but `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(work.test)`, `%ldsn( work.test)`, `%ldsn(work.test )`, + `%ldsn(work .test)`, `%ldsn(work. test)`, `%ldsn(work . test)`. + +- macro calls of the form: + `data %LDSN(); run;`, `data %LDSN( ); run;`, `data %LDSN( . ); run;` or even + `data %LDSN( . (keep=x)); run;` are resolved to empty string, so the result is + equivalent to `data; run;` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSN( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is concider as *"fully qualified dataset name"*, i.e. macro +assumes it may contain library as prefix and data set options as sufix. +See the `%LDsNm()` macro for comparison. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options nomprint source nomlogic nosymbolgen ls = max ps = max; + +data %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s (drop = sex rename=(name=first_name) where = (age in (12,13,14))) ); + set sashelp.class; +run; + +proc print data = %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); +run; + +data MyNextDataset; + set %LDSN( work. peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ); + where age > 12; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ldsnm()` macro ###### + +## >>> `%LDSNM()` macro: <<< ####################### + +The LDSNM (Long DataSet Names Modified) macro function +allows to use an "arbitrary" text string to name a dataset. + +The LDSN macro had some limitation (see its documentation), to overcome them +another `%LDSNM()` (Long DataSet Names Modified) macro was created. + +The main idea behind the `%LDSNM()` is the same as for `%LDSN()` - see the description there. + +--- + +The `%LDSNM()` works differently then the `%LDSN()`. + +The `%LDSN()` assumed that *both* libname and dataset options *could* +be passed as elements in macro argument, e.g. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSN( WORK.peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s (drop = sex) ); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `%LDSNM()`, in contrary, assumes that both libname and dataset options are +passed **outside** the macro, i.e. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data WORK.%LDSNM( peanut butter & jelly with a hot-dog in [a box] and s*t*a*r*s ) (drop = sex); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This approach reduces some limitations the LDSN has. + +The **additional** feature of the `%LDSNM()` is that when the macro is called +a global macro variable, which name is the same as hashed dataset name, is created. +The macro variable value is the text of the argument of the macro. For example +the following macro call: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +creates `DSN_BF1F8C4D6495B34A_` macro variable with value: `JOHN "X" 'Y' DOG`. + +The macro variable is useful when combined with `symget()` function and +the `indsname=` option to get the original text string value back, +like in this example: + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + set %LDSNM(John "x" 'y' dog) indsname = i; + + indsname = symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +--- + +The `%LDSN()` macro executes like a pure macro code. + +**Known "Limitations":** + +- dataset name _cannot_ contain _unpaired_ round brackets(`(` and `)`) + (but unmatched `[]` and `{}` are allowed)! + +- dataset name _cannot_ contain _unpaired_ quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- dataset name text is *converted to upcase* + +- dataset name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%ldsn(test)`, `%ldsn( test)`, `%ldsn(test )`. + +- macro calls of the form: + `data %LDSN(); run;` or `data %LDSN( ); run;` are resolved + to empty string, so the result is equivalent to `data; run;` + +- created macro variable is _global_ in scope. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LDSNM( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +The text string is consider as *"only dataset name"*, i.e. macro does not +assume it contain library as prefix or data set options as suffix. +See the `%LDSN()` macro for comparison. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data %LDSNM(John "x" 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x"[ 'y' & dog); + set sashelp.class; + where name = 'John'; +run; + +data %LDSNM(John "x" 'y'} & dog); + set sashelp.class; + where name = 'John'; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) (drop = sex rename=(name=first_name) where = (age in (12,13,14))) +; + set sashelp.class; +run; + +data test; + set work.%LDsNm( peanut butter & jelly, a hot-dog in [a box], and s(*)t(*)a(*)r(*)s!! ) indsname=i; + + indsname=symget(scan(i,-1,".")); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.%LDsNm( . ); + set sashelp.class; +run; + +data %LDsNm( ); + set sashelp.class; +run; + + +data %LDsNm(); + set sashelp.class; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%lvarnm()` macro ###### + +## >>> `%LVarNm()` macro: <<< ####################### + +The LVarNm() macro function works like the LDSN() macro function, but for variables. +Supported by LVarNmLab() macro function which allows to remember "user names" in labels. + +The motivation for the macro was similar one as for the LDSN() macro. + +--- + +See examples below for the details. + +The `%LVarNm()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNm(test)`, `%LVarNm( test)`, `%LVarNm(test )`. + +- if the user want to add an extra suffix to the variable, + e.g. to get a numerical suffix, the `%LVarNm()` macro + **has** to be wrapped inside the `%unquote()` macro function. +~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %unquote(%LVarNm(some strange! name))_0 - %unquote(%LVarNm(some strange! name))_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~ + The reason for this is a "bug" like behaviour of SAS tokenizer/macroprocesor. + See the following SAS-L discussion thread: + `https://listserv.uga.edu/scripts/wa-UGA.exe?A2=SAS-L;4b2bcf80.2205A&S=` + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNm( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options ls=max; +data test; + %LVarNmLab( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) + + do %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) = 1 to 10; + + y = 5 + %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) * 17; + output; + end; +run; + +data test2; + set test; + where %LVarNm( peanut butter & jelly with a "Hot-Dog" in [a box], popcorn, and s*t*a*r*s ) < 5; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNmLab() = 17; + + %LVarNm() = 17; + + %LVarNm( ) = 42; + + %LVarNm( ) = 303; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test3; + %LVarNm(test) = 1; + + %LVarNm( test) = 2; + + %LVarNm(test ) = 3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test4; + array X[*] %LVarNm(some strange! name)_0 - %LVarNm(some strange! name)_10; + + do i = lbound(X) to hbound(X); + X[i] = 2**(i-1); + put X[i]=; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%lvarnmlab()` macro ###### + +## >>> `%LVarNmLab()` macro: <<< ####################### + +The LVarNmLab() macro function supports LVarNm() and allows to remember "user names" in labels. + +The motivation for the macro was similar one as for the LDSN() macro. + +--- + +See examples in LVarNm() documentation for the details. + +The `%LVarNmLab()` macro executes like a pure macro code. + +**Known "Limitations":** + +- variable name _cannot_ contain unpaired quotes (`'` and `"`), + text: `a "hot-dog"` is ok, but `John's dog` is not! + +**Behaviour:** + +- variable name text is *converted to upcase* + +- variable name text *leading and trailing spaces are ignored*, + e.g. the following will give the same hash digest: + `%LVarNmLab(test)`, `%LVarNmLab( test)`, `%LVarNmLab(test )`. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%LVarNmLab( + arbitrary text string (in line with limitations) +) +~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qdeduplistx()` macro ###### + +## >>> `%QdedupListX()` macro: <<< ####################### + +The `%QdedupListX()` macro deletes duplicated values from +a *X-separated* list of values, where the `X` represents +a *single character* separator. List, including separators, +can be no longer than a value carried by a single macro variable. + +**Caution.** The value of `X` *has to be* in **the first** byte of the list, + just after the opening bracket, i.e. `(X...)`. + +Returned value is **quoted** with `%superq()`. Leading and trailing spaces are ignored. + +The `%QdedupListX()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QdedupListX( +XlistXofXxXseparatedXvalues +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - A list of *X-separated* values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(|a|b|c|b|c)*; + + %put *%QdedupListX( a b c b c)*; + + %put *%QdedupListX(,a,b,c,b,c)*; + + %put *%QdedupListX(XaXbXcXbXc)*; + + %put *%QdedupListX(/a/b/c/b/c)*; + + %put *%QdedupListX(%str(;a;b;c;b;c))*; + + %put *%QdedupListX(%nrstr(&a&b&c&b&c))*; + + %put *%QdedupListX(%nrstr(%a%b%c%b%c))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Leading and trailing spaces are ignored. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%QdedupListX(| a | b.b | c | b.b| c )*; + + %put *%QdedupListX(. a . b b . c . b b. c )*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Macro variable as an argument. + Delete duplicated values from a list. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let list = 4$5.5$6$1$2$3$1$2$3$4$5.5$6; + %put *%QdedupListX($&list.)*; + + %let list = 4$ 5.5$ 6$ 1$ 2$ 3$ 1$ 2$ 3$ 4$ 5.5$ 6$; + %put *%QdedupListX( &list.)*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%qgetvars()` macro ###### + +## >>> `%QgetVars()` macro: <<< ####################### + +The getVars() and QgetVars() macro functions +allow to extract variables names form a dataset +according to a given pattern into a list. + +The getVars() returns unquoted value [by %unquote()]. +The QgetVars() returns quoted value [by %superq()]. + +The `%QgetVars()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QgetVars( + ds + <,sep=> + <,pattern=> + <,varRange=> + <,quote=> + <,ignoreCases=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `ds` - *Required*, the name of the dataset from + which variables are to be taken. + +* `sep = %str( )` - *Optional*, default value `%str( )`, + a variables separator on the created list. + +* `pattern = .*` - *Optional*, default value `.*` (i.e. any text), + a variable name regexp pattern, case INSENSITIVE! + +* `varRange = _all_` - *Optional*, default value `_all_`, + a named range list of variables. + +* `quote =` - *Optional*, default value is blank, a quotation + symbol to be used around values. + +* `ignoreCases=` - *Optional*, default value is 1. + Indicates if search should be case insensitive. + + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%getVars()` help for the details. + +--- + + +--- + +## `%qzipevalf()` macro ###### + +## >>> `%QzipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space-separated lists. + +For two space-separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%QzipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%QzipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space-separated list of texts. + +2. `second` - *Required*, a space-separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma-separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma-separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma-separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + + +### EXAMPLES AND USECASES: #################################################### + +See examples in `%zipEvalf()` help for the details. + +--- + + +--- + +## `%raincloudplot()` macro ###### + +## >>> `%RainCloudPlot()` macro: <<< ####################### + +The RainCloudPlot() macro allow to plot Rain Cloud plots, i.e. +plots of kernel density estimates, jitter data values, and box-and-whiskers plot. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%RainCloudPlot( + DS + ,gr + ,vars + + <,WidthPX=> + <,HeightPX=> + <,boxPlot=> + <,roundFactor=> + <,rainDropSize=> + <,boxPlotSymbolSize=> + <,boxPlotLineSize=> + <,boxPlotFill=> + <,meanShiftLine=> + <,meanShiftStep=> + <,meanShiftColors=> + <,colorsList=> + <,monochrome=> + <,antialiasMax=> + <,title=> + <,footnote=> + <,catLabels=> + <,xLabels=> + <,xBothAxis=> + <,catLabelPos=> + <,xLabelPos=> + <,catLabelAttrs=> + <,xLabelAttrs=> + <,formated=> + <,y2axis=> + <,y2axisLevels=> + <,y2axisValueAttrs=> + <,y2axisFormat=> + <,y2axisLines=> + <,catAxisValueAttrs=> + <,xaxisValueAttrs=> + <,xaxisTickstyle=> + <,xaxisValues=> + <,xaxisValuesDisplay=> + <,xaxisValuesFormat=> + <,xaxisValuesRotate=> + <,xaxisOther=> + <,sganno=> + <,odsGraphicsOptions=> + <,sgPlotOptions=> + <,vertical=> + + <,VSCALE=> + <,KERNEL_K=> + <,KERNEL_C=> + <,VSCALEmax=> + <,minRange=> + <,maxRange=> + + <,cleanTempData=> + <,codePreview=> + <,reuseN=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `DS` - *Required*, name of the dataset from + which variables are to be taken. + +2. `gr` - *Required*, name of the grouping variable. + When more than one variable is specified + separate plots are rendered. + Can be numeric or character. + +3. `vars` - *Required*, name of the aggregated numeric variable. + When more than one variable is specified + separate plots are rendered. + +***Plot related options***: + +* `WidthPX` - *Optional*, default value `1200`. + Total width of the plot in pixels. + +* `HeightPX` - *Optional*, default value `220`. + Partial height of the plot in pixels. + Total height is calculated as `#GROUPS x HeightPX`. + +* `boxPlot` - *Optional*, default value `1`. + Indicates if the Box Plot should be added. + +* `roundFactor` - *Optional*, default value `0.000001`. + Rounding level when calculating maximum value + of the cloud chart. Should be adjusted to data + granularity level, e.g. for data with value + around `1e-8` should be decreased. + +* `rainDropSize` - *Optional*, default value `5px`. + Size of data points in the "rain" plot. + +* `boxPlotSymbolSize` - *Optional*, default value `8px`. + Size of symbols on the box plot. + If two values are provided, e.g., `16px 8px`, + the first is used for diamond size (the mean), + the second for "min/max" bars. + +* `boxPlotLineSize` - *Optional*, default value `1px`. + Thickness of lines of the box plot. + +* `boxPlotFill` - *Optional*, default value `1`. + Transparency of the box plot. + Ranges from 0.0 (opaque) to 1.0 (full translucent). + +* `meanShiftLine` - *Optional*, default value `0`. + Indicates if a line connecting mean symbol + on the Box Plot should be added. + +* `meanShiftStep` - *Optional*, default value `0.1`. + Sets how smooth gradient should be + on the "mean-shift" line. + +* `meanShiftColors` - *Optional*, default value is empty. + List of colours for plotting the "mean-shift" line. + Empty indicates that the `colorsList` value will be used. + +* `colorsList` - *Optional*, default value is empty. + List of colours for plotting. + Empty indicates that the default list will be used. + +* `monochrome` - *Optional*, default value `0`. + Indicates if the default list of colours should be gray-scale. + +* `antialiasMax` - *Optional*, default value is empty. + Sets a value to the ODS graphics `ANTIALIASMAX` option. + When empty the value is calculated from data. + +* `title` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `footnote` - *Optional*, default value - see notes below. + Provides a list of titles printed on the plot. + For details see notes below. + +* `catLabels` - *Optional*, default value is empty. + List of values for group axis labels (vertical). + When empty a grouping variable name is used. + For details see notes below. + +* `xLabels` - *Optional*, default value is empty. + List of values for data variable axis labels (horizontal). + When empty a data variable name is used. + For details see notes below. + +* `xBothAxis` - *Optional*, default value is `1`. + Indicates if both (top and bottom) axis (horizontal) should be printed. + If not `1` then only bottom axis is displayed. + +* `catLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on group axis (vertical). + Allowed values are `BOTTOM`, `CENTER`, `DATACENTER`, and `TOP`. + +* `xLabelPos` - *Optional*, default value `DATACENTER`. + Indicates position of the label on data axis (horizontal). + Allowed values are `LEFT`, `CENTER`, `DATACENTER`, and `RIGHT`. + +* `catLabelAttrs` - *Optional*, default value is empty. + List of attributes for group axis labels (vertical). + For details see notes below. + +* `xLabelAttrs` - *Optional*, default value is empty. + List of attributes for data variable axis labels (horizontal). + For details see notes below. + +* `formated` - *Optional*, default value `0`. + Indicates if values of the grouping variable should be formatted. + +* `y2axis` - *Optional*, default value `1`. + Indicates if the right vertical axis should be displayed. + +* `y2axisLevels` - *Optional*, default value `4`. + Sets the number of expected levels of values printed + on the right vertical axis. + +* `y2axisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify Y2 axis values attributes. + +* `y2axisFormat` - *Optional*, default value `12.2-L`. + Allows to modify Y2 axis values format. + +* `y2axisLines` - *Optional*, default value `0`. + If `1`, adds horizontal lines for Y2 axis values. + +* `catAxisValueAttrs` - *Optional*, default value `Color=Black`. + Allows to modify category (Y) axis values attributes. + +* `xaxisValueAttrs` - *Optional*, default value `Color=Grey`. + Allows to modify X axis values attributes. + +* `xaxisTickstyle` - *Optional*, default value `INSIDE`. + Allows to modify X axis tick style. + Allowed values are `OUTSIDE`, `INSIDE`, `ACROSS`, and `INBETWEEN`. + *For SAS previous to* **9.4M5** *set to missing!* + +* `xaxisValues` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `Values` option. + +* `xaxisValuesDisplay` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesDisplay` option. + +* `xaxisValuesFormat` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesFormat` option. + Instead using `w.d` format, use its alias `Fw.d`. + +* `xaxisValuesRotate` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement, for `ValuesRotate` option. + +* `xaxisOther` - *Optional*, default value is empty. + It is a wrapper to provide value for + the `XAXIS` statement options not mentioned above. + You can use it to provide, e.g., `GRID`, 'MINOR', + `MINORGRID`, `GRIDATTRS=`, or `MINORGRIDATTRS=`. + +* `sganno` - *Optional*, default value is empty. + keeps name of a data set for the `sganno=` option + of the SGPLOT procedure. + +* `sgPlotOptions` - *Optional*, default value is `noautolegend noborder subpixel`. + List of additional options values for SGPLOT procedure. + +* `odsGraphicsOptions` - *Optional*, default value is empty. + List of additional options values for `ODS Graphics` statement. + By default only the: `width=`, `height=`, and `antialiasmax=` + are modified. + +* `vertical` - *Optional*, default value is `0`. + Set value to `1` to plot "clouds & boxes" vertically. + **NOTE:** *Before setting the parameter to `1`, first + prepare the plot in the "horizontal" version since all + other parameters assume that orientation(!) and then are + converted accordingly.* + +***Stat related options***: + +* `VSCALE` - *Optional*, default value `Proportion`. + Specifies the scale of the vertical axis. + Allowed values are `PROPORTION`, `PERCENT`, and `COUNT`. + `PROPORTION` scales the data in units of proportion of observations per data unit. + `PERCENT` scales the data in units of percent of observations per data unit. + `COUNT` scales the data in units of the number of observations per data unit. + +* `KERNEL_K` - *Optional*, default value `NORMAL`. + Specifies type of kernel function to compute kernel density estimates. + Allowed values are `NORMAL`, `QUADRATIC`, and `TRIANGULAR`. + + +* `KERNEL_C` - *Optional*, default value `1`. + Specifies standardized bandwidth parameter *C* to compute kernel density estimates. + Allowed values are between `0` and `1`, + +* `VSCALEmax` - *Optional*, default value is empty. + Provides maximal value for Y2 axis scale. When used an information + note is displayed in the log. Recommended values are: + For `VSCALE=PERCENT` between 0 and 100, + for `VSCALE=PROPORTION` between 0 and 1, and + for `VSCALE=COUNT` between 0 and N (sample size). + +* `minRange` - *Optional*, default value is `.` (numerical missing). + Indicates minimum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +* `maxRange` - *Optional*, default value is `.` (numerical missing). + Indicates maximum value for x-axis on the plot, by default calculated form data. + Is a global parameter used for all plots. + +***Other options***: + +* `cleanTempData` - *Optional*, default value `1`. + Indicates if temporary data sets should be deleted. + +* `codePreview` - *Optional*, default value `0`. + Indicates if source code should be MPRINTed to log. + +* `reuseN` - *Optional*, default value `6`. + Indicates how many times colours list should be repeated + so that colours could be reused in case the number of groups + is greater than the colours list length. + +--- + +### NOTES: ################################################################### + +* Default value of the `title` option is: + `%nrstr(title1 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.);)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* Default value of the `footnote` option is: + `%nrstr(footnote1 JUSTIFY=L COLOR=lightGray HEIGHT=1 "by RainCloudPlot macro from the BasePlus package";)` + Use the `%str()` or `%nrstr()` macro-function to handle special characters. + The `%unquote()` is used when resolving the parameter. + +* The `catLabels` and `xLabels` should be quoted comma-separated lists enclosed with brackets, + e.g. `catLabels=("Continent of Origin", "Car Type")`, see Example below. + +* The `catLabelAttrs` and `xLabelAttrs` should be space-separated lists of `key=value` pairs, + e.g. `xLabelAttrs=size=12 color=Pink weight=bold`, see Example below. + +* Kernel density estimates and basic statistics are calculated with `PROC UNIVARIATE`. + +* Plot is generated by `PROC SGPLOT` with `BAND`, `SCATTER`, and `POLYGON` plots. + +* After execution the ODS graphics dimension parameters are set to `800px` by `600px`. + +* SAS notes (`NOTE:`) are disabled for the execution time. + +* Before setting the `vertical=` parameter to `1`, first prepare the plot + in the "horizontal" version since all other parameters assume that orientation(!) + and then are converted accordingly. + +* List of predefined colours is: + `BlueViolet`, `RoyalBlue`, `OliveDrab`, `Gold`, `HotPink`, `Crimson`, + `MediumPurple`, `CornflowerBlue`, `YellowGreen`, `Goldenrod`, `Orchid`, `IndianRed`. + +### BOX-AND-WHISKERS PLOT: ################################################################### + +The box-and-whiskers plot has the following interpretation: +- left vertical bar indicates the *minimum*, +- left whisker line starts at `max(Q1 - 1.5IQR, minimum)` and ends at lower quartile (Q1), +- diamond indicates mean, +- vertical bar inside of the box indicates median, +- right whisker line starts at upper quartile (Q3) and ends at `min(Q3 + 1.5IQR, maximum)`, +- right vertical bar indicates the *maximum*. + +With above setup it may happen that +there is a gap between the minimum marker and the beginning of the left whisker +or +there is a gap between the end of the right whisker and the maximum marker. +See examples below. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple Rain Cloud Plot for a `have` dataset: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data have; + g = "Aaa"; + do _N_ = 1 to 50; + x = rannor(42); + y = ranuni(42); + output; + end; + + g = "Bb"; + do _N_ = 1 to 120; + select (mod(_N_,9)); + when(1,2,3,4,5) x = 0.5*rannor(42)+1; + when(6,7,8) x = 0.5*rannor(42)+3; + otherwise x = 0.5*rannor(42)+5; + end; + y = ranuni(42)+1; + output; + end; + + g = "C"; + do _N_ = 1 to 60; + x = 3*rannor(42)+7; + y = ranuni(42)+2; + output; + end; + run; + + %RainCloudPlot(have, g, x y) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 1x](./baseplus_RainCloudPlot_Ex1x.png) +![Example 1y](./baseplus_RainCloudPlot_Ex1y.png) + + +**EXAMPLE 2.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Origin or Type + for Invoice variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars(where=(Type ne "Hybrid")) + , Origin Type + , Invoice + , HeightPX=300 + , y2axisLevels=3 + , catLabels=("Continent of Origin", "Car Type") + , xLabels="Invoice, [$]" + , xLabelAttrs=size=12 color=Pink weight=bold + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 2a](./baseplus_RainCloudPlot_Ex2a.png) +![Example 2b](./baseplus_RainCloudPlot_Ex2b.png) + +**EXAMPLE 3.** Rain Cloud plot with formated groups: + and annotations. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + data annotation; + function="text"; + label="This graph is full(*ESC*){sup '2'} of annotations!"; + drawspace="graphpercent"; + rotate=30; + anchor="center"; + textsize=32; + x1=50; + y1=50; + textcolor="red"; + justify="center"; + textweight="bold"; + width=100; + widthunit="percent"; + run; + + proc format; + value system + 1="Windows" + 2="MacOS" + 3="Linux" + ; + run; + + data test; + do system = 1 to 3; + do i = 1 to 50; + x = 2*rannor(123)/system - system; + output; + end; + end; + format system system.; + run; + + %RainCloudPlot(test, system, x + , colorslist=CX88CCEE CX44AA99 CX117733 + , formated=1 + , sganno=annotation + , sgPlotOptions=noborder + , WidthPX=1000 + , HeightPX=380 + , catAxisValueAttrs=Color=Green weight=bold + , VSCALE=percent + , cleanTempData=0 + , y2axisLevels=5 + , y2axisFormat=words20.-L + , VSCALEmax=60 + , codePreview=1 + , y2axisValueAttrs=Color=Grey size=10px + , y2axisLines=1 + , xLabels="variable X" + , title = %nrstr(title1; + title2 JUSTIFY=L "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title3 JUSTIFY=C "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + title4 JUSTIFY=R "Rain Cloud plot for &list_g. by " %unquote(&xLabel.); + ) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 3](./baseplus_RainCloudPlot_Ex3.png) + + +**EXAMPLE 4.** Rain Cloud plot for `sashelp.cars` dataset + with groups by Drive Train for Weight (LBS) + variable ploted "vertically": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + + %RainCloudPlot( + sashelp.cars + , DriveTrain + , Weight + , HeightPX=400 + , colorslist=Red Green Blue + , y2axisLevels=5 + , catLabels=("DriveTrain") + , xLabels="Weight (LBS)" + , xLabelAttrs=size=12 color=Black weight=bold + , y2axisLines=1 + , vscale=percent + , vscalemax=50 + , vertical = 1 + , title = %nrstr(title1 J=C HEIGHT=3 "The VERTICAL plotting is cool, ...";) + , footnote = %nrstr(footnote1 J=L HEIGHT=2 "... isn't it?";) + ) + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The output can be seen in the `md` file. +![Example 4](./baseplus_RainCloudPlot_Ex4.png) + +--- + + +--- + +## `%repeattxt()` macro ###### + +## >>> `%repeatTxt()` macro: <<< ####################### + +The repeatTxt() macro function allows to repeat `n` +times a `text` string separated by string `s=`. + +The repeatTxt() returns unquoted value [by %unquote()]. + +See examples below for the details. + +The `%repeatTxt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + text + <,n> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `text` - *Required*, a text to be repeated. + +2. `n` - *Required/Optional*, the number of repetitions. + If missing then set to `1`; + +* `s = %str( )` - *Optional*, it is a separator between + repeated elements. Default value is space. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of dataset name: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test5; + set + %repeatTxt(sashelp.cars, 5) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +%repeatTxt(data _null_; set sashelp.cars; run;, 3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** "Nice" output: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repeatTxt(#,15,s=$) HELLO SAS! %repeatTxt(#,15,s=$); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macroquote a text with commas: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%repeatTxt( + %str(proc sql; create table wh as select weight,height from sashelp.class; quit;) + ,3 +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Empty `n` repeats `text` one time: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +options mprint; +data work.test1; + set + %repeatTxt(sashelp.cars) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** Dynamic "formatting": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%macro printWork(); + %let work=%sysfunc(pathname(work)); + %put +%repeatTxt(~,%length(&work.)+5,s=)+; + %put {&=work.}; + %put +%repeatTxt(~,%length(&work.)+5,s=)+; +%mend printWork; + +%printWork() +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%splitdsintoblocks()` macro ###### + +## >>> `%splitDSIntoBlocks()` macro: <<< ####################### + +The splitDSIntoBlocks() macro allows to split the `set` dataset into blocks +of size `blockSize` in datasets: `prefix1` to `prefixN`. + +The last dataset may have less observations then the `blockSize`. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoBlocks( + blockSize + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `blockSize` - *Required*, the size of the block of data, + in other words number of observations in + one block of split data. + Block size must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.class` into 5 elements datasets ABC1 to ABC4: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoBlocks(5,sashelp.class,ABC) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `partN` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(123) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoBlocks(100,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%splitdsintoparts()` macro ###### + +## >>> `%splitDSIntoParts()` macro: <<< ####################### + +The splitDSIntoParts() macro allows to split the `set` dataset into `parts` parts +of approximately `NOBS/parts` size in datasets: `prefix1` to `prefixN`. + +The splitDSIntoParts() macro internally runs the splitDSIntoBlocks() macro. + +Macro covers `BASE` engine (`v9`, `v8`, `v7`, `v6`) and `SPDE` engine datasets. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%splitDSIntoParts( + parts + <,set> + <,prefix> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `parts` - *Required*, the number of parts to split data into. + Number of parts must be positive integer. + +2. `set` - *Required/Optional*, the name of the dataset to split. + If empty then `&syslast.` is used. + +3. `prefix` - *Required/Optional*, the name-prefix for new datasets. + If missing then set to `part`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Split `sashelp.cars` into 7 parts: datasets carsInParts1 to carsInParts7: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %splitDSIntoParts(7,sashelp.cars, carsInParts) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** By default splits the `_last_` dataset into `part1` to `part3` datasets: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data lastData; + set sashelp.cars; + run; + + %splitDSIntoBlocks(3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Works with `SPDE` engine too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname test "%sysfunc(pathname(work))/testSPDE"; + libname test; + libname test SPDE "%sysfunc(pathname(work))/testSPDE"; + + data test.test; + set sashelp.cars; + run; + + %splitDSIntoParts(3,test.test,work.spde) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%symdelglobal()` macro ###### + +## >>> `%symdelGlobal()` macro: <<< ####################### + +The `%symdelGlobal()` macro deletes all global macro variables +created by the user. The only exceptions are read only variables +and variables the one which starts with SYS, AF, or FSP. +In that case a warning is printed in the log. + +One temporary global macro variable `________________98_76_54_32_10_` +and a dataset, in `work` library, named `_%sysfunc(datetime(),hex7.)` +are created and deleted during the process. + +The `%symdelGlobal()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%symdelGlobal( + info +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `info` - *Optional*, default value should be empty, + if set to `NOINFO` or `QUIET` then infos and + warnings about variables deletion are suspended. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Basic use-case one. + Delete global macro variables, info notes + and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + + %symdelGlobal(); + + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Basic use-case two. + Delete global macro variables in quite mode + No info notes and warnings are printed in the log. + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let a = 1; + %let b = 2; + %let c = 3; + %let sys_my_var = 11; + %let af_my_var = 22; + %let fsp_my_var = 33; + %global / readonly read_only_x = 1234567890; + + %put _user_; + %put *%symdelGlobal(NOINFO)*; + %put _user_; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +--- + + +--- + +## `%unziparch()` macro ###### + +## >>> `%unzipArch()` macro: <<< ####################### + +The unzipArch() macro allows to unzip content of a ZIP archive. +Macro is OS-independent, the `XCMD` option is not required. + +The `dlCreateDir` option is used under the hood. + +Content of unzipped archive can be listed in the log. + +Source files can be deleted after decompression. +Errors of decompression and are reported. If any occur +the deletion is suspended. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipArch( + archName + <,path=> + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,clean=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the ZIP archive to be extracted. + Name should be full, i.e., with the extension! + +* `path=` - *Optional*, a path pointing to zipped file location. + The path should be provided unquoted. + Default value is `WORK` location. + +* `pathRef=` - *Optional*, a fileref to path pointing to zipped file location. + The `path`, if not null, has precedense over the `pathRef`. + +* `target=` - *Optional*, a path pointing to target location where + files will be extracted. + The path should be provided unquoted. + Default value is `WORK` location. + +* `target=` - *Optional*, a fileref to path pointing to target location where + files will be extracted. + The `target`, if not null, has precedense over the `targetRef`. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `clean = 0` - *Optional*, default value is `0`, + indicates if zip file should be deleted after unzipping. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Unzip compressed archive. Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +filename arch ZIP "%workPath()/testArch.zip"; + +data _null_; + file arch(abc/test1.txt); + put "text for test file 1"; +data _null_; + file arch(abc/subdir/test2.txt); + put "text for test file 2"; +data _null_; + file arch(abc/subdir/test3.txt); + put "text for test file 3"; +run; + +%unzipArch( + testArch.zip +, path = %workPath() +, target = %workPath() +, list=1 +); + + + +filename pR "%workPath()"; + +%unzipArch( + testArch.zip +, pathRef = pR +, targetRef = pR +, clean=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%unziplibrary()` macro ###### + +## >>> `%unzipLibrary()` macro: <<< ####################### + +The unzipLibrary() macro allows to unzip content of a SAS library. +It is a *counterpart* to the `%zipLibrary()` macro and is *not* intended to work +with zip files generated by other software (though it may in some cases). + +Files can be unzipped from a single file +or from multiple files (named e.g. "dataset.sas7bdat.zip"). +If a file is indexed also the index file is unzipped. + +Source files can be deleted after decompression. + +Status of decompression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unzipLibrary( + path + <,zip=> + <,mode=> + <,clean=> + <,libOut=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `path` - *Required*, a path pointing to zipped file(s) location. + The path should be unquoted, e.g. `%unzipLibrary(/some/dir, ...)`. + +* `zip =` - *Optional*, When `mode=S` a name of the + zip file containing SAS files to be unzipped. + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of decompression + read from a single zip file (`SINGLE/S`) + or from multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should zip files be deleted after unzipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file + decompression. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Use data from Example 1. + First zip content of the `test3` library + to `test4` location into one zip file + and delete source files. + Next unzip `test3.zip` library into the + `test4` location and delete the zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4) + + +%unzipLibrary(%sysfunc(pathname(test4)), zip=test3, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use data from Example 1. + First zip content of the `test1` library + into multiple zip files and delete source files. + Next unzip `*.zip` files in `test1` + location and delete zipped files +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test1, mode=M, clean=1) + + +%unzipLibrary(%sysfunc(pathname(test1)), mode=M, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** First zip content of the `sashelp` library + into `work` library. + Next unzip `sashelp.zip` file in `work` + location and delete zip file. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(sashelp, mode=S, clean=0, libOut=work) + + +%unzipLibrary(%sysfunc(pathname(work)), zip=sashelp, mode=S, clean=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `%ziparch()` macro ###### + +## >>> `%zipArch()` macro: <<< ####################### + +The zipArch() macro allows to ZIP content of a directory. +Macro is OS-independent, the `XCMD` option is not required. + +Content of zipped archive can be listed in the log. + +Errors of decompression and are reported. + +Macro **does not** include hidden files. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipArch( + archName + ,path = + <,pathRef=> + <,target=> + <,targetRef=> + <,list=> + <,overwrite=> + <,dropList=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `archName` - *Required*, name of the archive to be generated. + Name should be full, i.e., with the extension! + +2. `path=` - *Required/Optional*, location of a directory to ZIP. + The path should be provided unquoted. + Has priority over the `pathRef` parameter. + +* `pathRef=` - *Required/Optional*, fileref to location of a directory to ZIP. + The reference **has** to be pointing to single directory. + If provided with `path` - the `path` takes + priority over the `pathRef` parameter. + +* `target=` - *Optional*, a path pointing to target location where + the archive will be generated. + The path should be provided unquoted. + Default value is `WORK` location. + Has priority over the `targetRef` parameter. + +* `targetRef=` - *Optional*, fileref to a path pointing to target location + where the archive will be generated. + The reference **has** to be pointing to single directory. + If provided with `target` - the `target` takes + priority over the `targetRef` parameter. + +* `list = 0` - *Optional*, default value is `0`, + indicates if zip content should be listed in the log. + `1` means *yes*, `0` means *no*. + +* `overwrite = 0` - *Optional*, default value is `0`, + indicates if existing archive file should be overwritten. + `1` means *yes*, `0` means *no*. + +* `overwrite = 1` - *Technical*, default value is `1`, + indicates if the "to-be-zipped-files-list" + data set should be deleted. + `1` means *yes*, `0` means *no*. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Zip a directory . Example requires the `basePlus` package. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlCreateDir; +libname arch1 "%workPath()/testArch1"; +libname arch2 "%workPath()/testArch2"; + +filename arch1 "%workPath()/testArch1"; + +data _null_; + file arch1(test1.txt); + put "text for test file 1"; +data _null_; + file arch1(test2.txt); + put "text for test file 2"; +data _null_; + file arch1(test3.txt); + put "text for test file 3"; +run; + +data arch1.class(index=(name)); + set sashelp.class; +run; +data arch1.cars(index=(model)); + set sashelp.cars; +run; + + + +%zipArch( + archName1.zip +, path = %workPath()/testArch1 +, list = 1 +, overwrite = 1 + +) + +%zipArch( + archName2.zip +, pathRef = arch1 +, target = %workPath()/testArch2 +, list = 1 +, overwrite = 1 +) + + +%unzipArch( + archName2.zip +, path = %workPath()/testArch2 +, target = %workPath()/testArch2 +, clean=1 +, list=1 +); + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%zipevalf()` macro ###### + +## >>> `%zipEvalf()` macro: <<< ####################### + +The zipEvalf() and QzipEvalf() macro functions +allow to use a function on elements of pair of +space-separated lists. + +For two space-separated lists of text strings the corresponding +elements are taken and the macro applies a function, provided by user, +to calculate result of the function on taken elements. + +When one of the lists is shorter then elements are "reused" starting +from the beginning. + +The zipEvalf() returns unquoted value [by %unquote()]. +The QzipEvalf() returns quoted value [by %superq()]. + +See examples below for the details. + +The `%zipEvalf()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipEvalf( + first + ,second + <,function=> + <,operator=> + <,argBf=> + <,argMd=> + <,argAf=> + <,format=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `first` - *Required*, a space-separated list of texts. + +2. `second` - *Required*, a space-separated list of texts. + +* `function = cat` - *Optional*, default value is `cat`, + a function which will be applied + to corresponding pairs of elements of + the first and the second list. + +* `operator =` - *Optional*, default value is empty, + arithmetic infix operator used with elements + the first and the second list. The first + list is used on the left side of the operator + the second list is used on the right side + of the operator. + +* `argBf =` - *Optional*, default value is empty, + arguments of the function inserted + *before* elements the first list. + If multiple should be comma-separated. + +* `argMd =` - *Optional*, default value is empty, + arguments of the function inserted + *between* elements the first list and + the second list. + If multiple should be comma-separated. + +* `argAf =` - *Optional*, default value is empty, + arguments of the function inserted + *after* elements the second list. + If multiple should be comma-separated. + +* `format=` - *Optional*, default value is empty, + indicates a format which should be used + to format the result, does not work when + the `operator=` is used. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple concatenation of elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, a b c); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Use of the `operator=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let y = %zipEvalf(1 2 3 4 5 6, 100 200, operator = +); +%put &=y; + +%let z = %zipEvalf(1 2 3 4 5 6 8 9 10, 1 2 3 4 5 6 8 9 10, operator = **); +%put &=z; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Format result: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, q w e r t y, format=$upcase.); +%put &=x; + +%put * +%zipEvalf( + ą ż ś ź ę ć ń ó ł +,Ą Ż Ś Ź Ę Ć Ń Ó Ł +,format = $brackets. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Use with macro variables: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let abc = 10 100 1000; +%put * +%zipEvalf( +%str(1 2 3 4 5 6 7 8 9) +,&abc. +,function = sum +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** If one of elements is empty: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + abc efg +, +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Use of the `function=`, shorter list is "reused": +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str(,) +,format = $brackets. +) +*; + +%put * +%zipEvalf( + a b c +,efg +,function = catx +,argBf = %str( ) +,format = $upcase. +) +*; + +%put * +%zipEvalf( + %str(! @ # $ [ ] % ^ & * ) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str( ) +,format = $quote. +) +*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Use inside resolve: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; +z = resolve(' +%zipEvalf( + %nrstr(! @ # $ [ ] % ^ & *) +,1 2 3 4 5 6 7 8 9 +,function = catx +,argBf = %str(.) +,format = $quote. +)'); +put z=; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Use in data step: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data test; + %zipEvalf( + a b c d e f g + ,1 2 3 4 5 6 7 + ,function = catx + ,argBf = = + ,format = $semicolon. + ) +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 10.** With 9.4M6 hashing() function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %zipEvalf(MD5 SHA1 SHA256 SHA384 SHA512 CRC32, abcd, function = HASHING); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 11.** Use middle argument: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = %zipEvalf(1 2 3 4 5 6, 2020, argMd=5, function=MDY, format=date11.); +%put &=x; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%ziplibrary()` macro ###### + +## >>> `%zipLibrary()` macro: <<< ####################### + +The zipLibrary() macro allows to zip content of a SAS library. + +Files can be zipped into a single file (named as the input library) +or into multiple files (named as "dataset.sas7bdat.zip"). +If a file is indexed also the index file is zipped. + +Source files can be deleted after compression. + +Status of compression and processing time is reported. + +See examples below for the details. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary( + lib + <,mode=> + <,clean=> + <,libOut=> + <,compression=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, a name of the library to be zipped. + Must be a valid SAS V7, V8, or V9 library. + + +* `mode = S` - *Optional*, default value is `S`, + indicates mode of compression + generates single zip file (`SINGLE/S`) + or multiple files (`MULTI/M`) + +* `clean = 0` - *Optional*, default value is `0`, + should datasets be deleted after zipping? + `1` means *yes*, `0` means *no*. + +* `libOut =` - *Optional*, default value is empty, + output library for a single zip file. + +* `compression =` - *Optional*, default value is `6`, + specifies the compression level + `0` to `9`, where `0` is no compression + and `9` is maximum compression. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Generate data: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +options dlcreatedir; + libname test1 "%sysfunc(pathname(work))/test1"; + libname test2 "%sysfunc(pathname(work))/test2"; + libname test3 (test1 test2); + libname test4 "%sysfunc(pathname(work))/test4"; +options nodlcreatedir; + +%put %sysfunc(pathname(test3)); +%put %sysfunc(pathname(test4)); + +data + test1.A(index=(model)) + test1.B + test2.C + test2.D(index=(model make io=(invoice origin))) +; + set sashelp.cars; +run; + +data test1.B2 / view=test1.B2; + set test1.B; + output; + output; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Zip content of test3 library + into the same location in one zip file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Zip content of test3 library + into the same location in multiple zip files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, mode=MULTI) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Zip content of test3 library + with maximum compression level + into different location in one zip file + and delete source files: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%zipLibrary(test3, clean=1, libOut=test4, compression=9) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + +## `$bool.` format/informat ###### + +## >>> `bool.` format: <<< ####################### + +The **bool** format returns: +*zero* for 0 or missing, +*one* for other values. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), bool.)`] + +--- + + +--- + +## `$boolz.` format/informat ###### + +## >>> `boolz.` format: <<< ####################### + +The **boolz** format returns: +*zero* for 0 or missing, +*one* for other values. + +*Fuzz* value is 0. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 & 4.2, boolean)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), boolz.)`] + +--- + + +--- + +## `$ceil.` format/informat ###### + +## >>> `ceil.` format: <<< ####################### + +The **ceil** format is a "wrapper" for the `ceil()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, ceil)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), ceil.)`] + +--- + + +--- + +## `$floor.` format/informat ###### + +## >>> `floor.` format: <<< ####################### + +The **floor** format is a "wrapper" for the `floor()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, floor)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), floor.)`] + +--- + + +--- + +## `$int.` format/informat ###### + +## >>> `int.` format: <<< ####################### + +The **int** format is a "wrapper" for the `int()` function. + +### EXAMPLES AND USECASES: #################################################### + +It allows for a %sysevalf()'ish +conversion-type [i.e. `%sysevalf(1.7 + 4.2, integer)`] +inside the `%sysfunc()` [e.g. `%sysfunc(aFunction(), int.)`] + +--- + + +--- + +## `arrfill()` function ###### + +## >>> `arrFill()` subroutine: <<< ####################### + +The **arrFill()** subroutine is a wrapper +for the Call Fillmatrix() [a special FCMP subroutine]. + +A numeric array is filled with selected numeric value, e.g. + +for array `A = [. . . .]` the subroutine +`call arrFill(42, A)` returns `A = [42 42 42 42]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrfillc()` function ###### + +## >>> `arrFillC()` subroutine: <<< ####################### + +The **arrFillC()** subroutine fills +a character array with selected character value, e.g. + +for array `A = [" ", " ", " "]` the subroutine +`call arrFillC("B", A)` returns `A = ["B", "B", "B"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrFillC(C ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrFillC("ABC", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmissfill()` function ###### + +## >>> `arrMissFill()` subroutine: <<< ####################### + +The **arrMissFill()** subroutine fills +all missing values (i.e. less or equal than `.Z`) +of a numeric array with selected numeric value, e.g. + +for array `A = [1 . . 4]` the subroutine +`call arrMissFill(42, A)` returns `A = [1 42 42 4]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFill(N ,A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `N` - Numeric value. + +2. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissFill(42, X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmissfillc()` function ###### + +## >>> `arrMissFillC()` subroutine: <<< ####################### + +The **arrMissFillC()** subroutine fills +all missing values of a character array +with selected character value, e.g. + +for array `A = ["A", " ", "C"]` the subroutine +`call arrMissFillC("B", A)` returns `A = ["A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissFillC(C, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `C` - Character value. + +2. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissFillC("X", X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoleft()` function ###### + +## >>> `arrMissToLeft()` subroutine: <<< ####################### + +The **arrMissToLeft()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the right side of an array +and missing values to the left, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToLeft(A)` returns `A = [. . 1 2 3]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeft(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToLeft(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoleftc()` function ###### + +## >>> `arrMissToLeftC()` subroutine: <<< ####################### + +The **arrMissToLeftC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the right side of an array +and all missing values to the left, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToLeftC(A)` returns `A = [" ", " ", "A", "B", "C"]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToLeftC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToLeftC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstoright()` function ###### + +## >>> `arrMissToRight()` subroutine: <<< ####################### + +The **arrMissToRight()** subroutine shifts +all non-missing (i.e. greater than `.Z`) +numeric elements to the left side of an array +and missing values to the right, e.g. + +for array `A = [1 . 2 . 3]` the subroutine +`call arrMissToRight(A)` returns `A = [1 2 3 . .]` + +All missing values are replaced with the dot (`.`) + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRight(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Numeric array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + input a b c; +cards4; +1 . 3 +. 2 . +. . 3 +;;;; +run; + +data _null_; + set have ; + array X[*] a b c; + + put "before: " (_all_) (=); + call arrMissToRight(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `arrmisstorightc()` function ###### + +## >>> `arrMissToRightC()` subroutine: <<< ####################### + +The **arrMissToRightC()** subroutine shifts +all non-missing (i.e. different than empty string) +character elements to the left side of an array +and missing values to the right, e.g. + +for array `A = ["A", " ", "B", " ", "C"]` the subroutine +`call arrMissToRightC(A)` returns `A = ["A", "B", "C", " ", " "]` + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +call arrMissToRightC(A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Character array. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data have; + infile cards dsd dlm="," missover; + input (a b c) (: $ 1.); +cards4; +A, ,C + ,B, + , ,C +;;;; +run; + +data _null_; + set have ; + array X[*] $ a b c; + + put "before: " (_all_) (=); + call arrMissToRightC(X); + put "after: " (_all_) (=); + +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `bracketsc()` function ###### + +## >>> `bracketsC()` function: <<< ####################### + +The **bracketsC()** function is internal function used by the *brackets* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + +--- + +## `bracketsn()` function ###### + +## >>> `bracketsN()` function: <<< ####################### + +The **bracketsN()** function is internal function used by the *brackets* format. +Returns character value of length 34. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +bracketsN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + +--- + +## `catxfc()` function ###### + +## >>> `catXFc()` function: <<< ####################### + +The **catXFc()** function is a wrapper +of the `catX()` function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFc("upcase.", "*", A)` returns `"A*C"`. + +If format does not handle nulls they are ignored. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFc(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFc("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfi()` function ###### + +## >>> `catXFi()` function: <<< ####################### + +The **catXFi()** function is a wrapper +of the `catX()` function but with ability +to format numeric values but +IGNORES missing values (i.e. `._`, `.`, `.a`, ..., `.z`). + +For array `A = [0, ., 2]` the +`catXFi("date9.", "#", A)` returns +`"01JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFi(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFi("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfj()` function ###### + +## >>> `catXFj()` function: <<< ####################### + +The **catXFj()** function is a wrapper +of the catX() function but with ability +to format character values. + +For array `A = ["a", " ", "c"]` the +`catXFj("upcase.", "*", A)` returns `"A**C"` + +If format does not handle nulls they are +printed as an empty string. + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFj(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *character* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Character array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + t = "t"; + u = " "; + v = "v"; + + array b[*] t u v; + + length s $ 17; + s = catXFj("upcase.", "*", B); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `catxfn()` function ###### + +## >>> `catXFn()` function: <<< ####################### + +The **catXFn()** function is a wrapper +of the `catX()` function but with ability +to format numeric values. + +For array `A = [0, 1, 2]` the +`catXFn("date9.", "#", A)` returns +`"01JAN1960#02JAN1960#03JAN1960"` + +*Caution!* Array parameters to function calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +catXFn(format, delimiter, A) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `format` - A name of the *numeric* format to be used. + +2. `delimiter` - A delimiter string to be used. + +3. `A` - Numeric array + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = .; + z = 3; + + array a[*] x y z; + + length s $ 17; + s = catXFn("z5.", "#", A); + put (_all_) (=); +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `deldataset()` function ###### + +## >>> `delDataset()` function: <<< ####################### + +The **delDataset()** function is a "wrapper" +for the `Fdelete()` function. +`delDataset()` function uses a text string with +a dataset name as an argument. + +Function checks for `*.sas7bdat`, `*.sas7bndx`, +and `*.sas7bvew` files and delete them. +Return code of 0 means dataset was deleted. + +For compound library files are +deleted from _ALL_ locations! + + +*Note:* +Currently only the BASE SAS engine datasets/views are deleted. + +Tested on Windows and Linux. Not tested on Z/OS. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +delDataset(lbds_) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lbds_` - *Required*, character argument containing + name of the dataset/view to be deleted. + The `_last_` special name is honored. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST1 TEST2(index=(x)); + x = 17; + run; + + data TEST3 / view=TEST3; + set test1; + run; + + data _null_; + p = delDataset("WORK.TEST1"); + put p=; + + p = delDataset("TEST2"); + put p=; + + p = delDataset("WORK.TEST3"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST4; + x=42; + run; + data _null_; + p = delDataset("_LAST_"); + put p=; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname user "%sysfunc(pathname(work))/user"; + + data TEST5; + x=42; + run; + + data _null_; + p = delDataset("test5"); + put p=; + run; + + libname user clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 4.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST6; + x=42; + run; + + %put *%sysfunc(delDataset(test6))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 5.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlcreatedir; + libname L1 "%sysfunc(pathname(work))/L)1"; + libname L2 "%sysfunc(pathname(work))/L(2"; + libname L3 "%sysfunc(pathname(work))/L'3"; + + data L1.TEST7 L2.TEST7 L3.TEST7; + x=42; + run; + + libname L12 ("%sysfunc(pathname(work))/L(1" "%sysfunc(pathname(work))/L)2"); + libname L1L2 (L2 L3); + + %put *%sysfunc(delDataset(L12.test7))*; + %put *%sysfunc(delDataset(L1L2.test7))*; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `semicolonc()` function ###### + +## >>> `semicolonC()` function: <<< ####################### + +The **semicolonC()** function is internal function used by the *semicolon* format. +Returns character value of length 32767. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonC(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Character value. + +--- + + +--- + +## `semicolonn()` function ###### + +## >>> `semicolonN()` function: <<< ####################### + +The **semicolonN()** function is internal function used by the *semicolon* format. +Returns character value of length 33. + +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~sas +semicolonN(X) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `X` - Numeric value. + +--- + + +--- + +## `$bpklenght.` format/informat ###### + +## >>> `bpklenght` format/informat: <<< ####################### + +The **bpklenght** format and informats uses the `klength()` function +to count the number of letters in a word. For empty string returns 0. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_letters; + input x $ 32.; + n = input (x, bpklenght.); + c = input (x, $bpklenght.); + format x $bpklenght.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_letters; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bpklenght.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$bplenght.` format/informat ###### + +## >>> `bplenght` format/informat: <<< ####################### + +The **bplenght** format and informats use the `lengthn()` function +to count the number of bytes in a word. + + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** Informats and format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.count_bytes; + input x $ 32.; + n = input (x, bplenght.); + c = input (x, $bplenght.); + format x $bplenght.; +cards; +ż +żó +żół +żółć +a +ab +abc +abcd +空 +空手 +空手道 +1 +12 +123 +1234 +12345 +123456 +1234567 +12345678 +123456789 +1234567890 +; +run; +proc print data=work.count_bytes; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 2.** Format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + length x $ 32767; + do i = 32767/3 to 0 by -1111, 10 to 0 by -1; + x=repeat("空",i); + put x $bplenght.; + end; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$brackets.` format/informat ###### + +## >>> `brackets.` format: <<< ####################### + +The **brackets** format adds brackets around a text or a number. +Leading and trailing spaces are dropped before adding brackets. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + input x; + if x < 0 then put x= brackets.; + else put x= best32.; +cards; +2 +1 +0 +-1 +-2 +; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `$semicolon.` format/informat ###### + +## >>> `semicolon.` format: <<< ####################### + +The **semicolon** format adds semicolon after text or number. +Leading and trailing spaces are dropped before adding semicolon. + +### EXAMPLES AND USECASES: #################################################### + +**Example 1.** + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + x = 1; + y = "A"; + put x= semicolon. y= $semicolon.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `qsortincbyprocproto()` proto ###### + +## >>> `qsortInCbyProcProto()` proto function: <<< ####################### + +The **qsortInCbyProcProto()** is external *C* function, +this is the implementation of the *Quick Sort* algorithm. + +The function is used **internally** by +functions in the *BasePlus* package. + +Asumptions: +- smaller subarray is sorted first, +- subarrays of *size < 11* are sorted by *insertion sort*, +- pivot is selected as median of low index value, + high index value, and (low+high)/2 index value. + +`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+`!CAUTION! Sorted array CANNOT contains SAS missing values !`
+`!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`
+ +### SYNTAX: ################################################################### + +The basic syntax is the following: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +qsortInCbyProcProto(arr, low, high) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `arr` - An array of double type to be sorted. + +2. `low` - An integer low index of starting position (from which the sorting is done). + +3. `high` - An integer high index of ending position (up to which the sorting is done). + + +### REFERENCES: #################################################### + +*Reference 1.* + +Insertion sort for arrays smaller then 11 elements: + +Based on the code from the following WikiBooks page [2020.08.14]: + +[https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie](https://pl.wikibooks.org/wiki/Kody_%C5%BAr%C3%B3d%C5%82owe/Sortowanie_przez_wstawianie) + + +*Reference 2.* + +Iterative Quick Sort: + +Based on the code from the following pages [2020.08.14]: + +[https://www.geeksforgeeks.org/iterative-quick-sort/](https://www.geeksforgeeks.org/iterative-quick-sort/) + +[https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/](https://www.geeksforgeeks.org/c-program-for-iterative-quick-sort/) + +--- + + +--- + +## `frommissingtonumberbs()` function ###### + +## >>> `fromMissingToNumberBS()` function: <<< ####################### + +The **fromMissingToNumberBS()** function +gets numeric missing value or a number +as an argument and returns an integer +from 1 to 29. + +For a numeric missing argument +the returned values are: +- 1 for `._` +- 2 for `.` +- 3 for `.a` +- ... +- 28 for `.z` and +- 29 for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For *missing value arguments* the function +is an inverse of the `fromNumberToMissing()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromMissingToNumberBS(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric missing value or a number. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = ._, ., .a, .b, .c, 42; + y = fromMissingToNumberBS(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `fromnumbertomissing()` function ###### + +## >>> `fromNumberToMissing()` function: <<< ####################### + +The **fromNumberToMissing()** function +gets a number as an argument and returns +a numeric missing value or zero. + +For a numeric argument +the returned values are: +- `._` for 1 +- `.` for 2 +- `.a` for 3 +- ... +- `.z` for 28 and +- `0` for *all other*. + +The function is used **internally** by +functions in the *BasePlus* package. + +For arguments 1,2,3, ..., and 28 the function +is an inverse of the `fromMissingToNumberBS()` function. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +fromNumberToMissing(x) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `x` - A numeric value. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data _null_; + do x = 1 to 29; + y = fromNumberToMissing(x); + put x= y=; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksort4notmiss()` function ###### + +## >>> `quickSort4NotMiss()` subroutine: <<< ####################### + +The **quickSort4NotMiss()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + + +**Caution 1!** Array _CANNOT_ contains missing values! + +**Caution 2!** Array parameters to subroutine calls must be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSort4NotMiss(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of NOT missing numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM, + array of size 250'000'000 with values in range + from 0 to 99'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + test[_N_] = int(100000000*rand("uniform")); + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSort4NotMiss (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksorthash()` function ###### + +## >>> `quickSortHash()` subroutine: <<< ####################### + +The **quickSortHash()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" is set to `100'000` to +use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + 100'000 then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the reported memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHash(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHash (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + + +--- + +## `quicksorthashsddv()` function ###### + +## >>> `quickSortHashSDDV()` subroutine: <<< ####################### + +The **quickSortHashSDDV()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +The number of "sparse distinct data values" (argument `SDDV`) may +be adjusted to use the hash sort instead of the quick sort. + E.g. when number of unique values for sorting is less then + some *N* then an ordered hash table is used to store the data + and their count and sort them. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +*Note!* Due to improper memory reporting/releasing for hash + tables in FCMP procedure the report memory used after running + the function may not be in line with the RAM memory required + for processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortHashSDDV(A, SDDV) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + +2. `SDDV` - A number of distinct data values, e.g. 100'000. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 9'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(10000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortHashSDDV (test, 2e4); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `quicksortlight()` function ###### + +## >>> `quickSortLight()` subroutine: <<< ####################### + +The **quickSortLight()** subroutine is an alternative to the +`CALL SORTN()` subroutine for 1-based big arrays (i.e. `> 10'000'000` elements) +when memory used by `call sortn()` may be an issue. +For smaller arrays the memory footprint is not significant. + +The subroutine is based on an iterative quick sort algorithm +implemented in the `qsortInCbyProcProto()` *C* prototype function. + +*Caution!* Array parameters to subroutine calls *must* be 1-based. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +call quickSortLight(A) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `A` - Argument is a 1-based array of numeric values. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** For session with 8GB of RAM + Array of size 250'000'000 with values in range + from 0 to 99'999'999 and around 10% of various + missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let size = 250000000; + options fullstimer; + + data _null_; + array test[&size.] _temporary_ ; + + array m[0:27] _temporary_ + (._ . .A .B .C .D .E .F .G .H .I .J .K .L + .M .N .O .P .Q .R .S .T .U .V .W .X .Y .Z); + + t = time(); + call streaminit(123); + do _N_ = &size. to 1 by -1; + _I_ + 1; + if rand("uniform") > 0.1 then test[_I_] = int(100000000*rand("uniform")); + else test[_I_] = m[mod(_N_,28)]; + end; + t = time() - t; + put "Array population time: " t; + + put "First 50 elements before sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + + t = time(); + call quickSortLight (test); + t = time()-t; + put "Sorting time: " / t=; + + put; put "First 50 elements after sorting:"; + do _N_ = 1 to 20; + put test[_N_] = @; + end; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**Example 2.** Resources comparison for + session with 8GB of RAM. + + Array of size 250'000'000 with random values + from 0 to 999'999'999 and _NO_ missing values. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 8.82s + memory 1'953'470.62k + OS Memory 1'977'436.00k + + Call quickSort4NotMiss: + Sorting time 66.92s + Memory 1'954'683.06k + OS Memory 1'977'436.00k + + Call quickSortLight: + Sorting time 70.98s + Memory 1'955'479.71k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Example 3.** Resources comparison for + session with 8GB of RAM + + A) Array of size 10'000'000 with + random values from 0 to 9'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.61s + Memory 78'468.50k + OS Memory 101'668.00k + + Call sortn: + Sorting time 0.87s + Memory 1'120'261.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.76s + Memory 1'222'242.75k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 23.45s + Memory 80'527.75k + OS Memory 101'924.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + B) Array of size 10'000'000 with + random values from 0 to 99'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 0.6s + Memory 78'463.65k + OS Memory 101'924.00k + + Call sortn: + Sorting time 1.51s + Memory 1'120'253.53k + OS Memory 1'244'968.00k + + Call quickSortHash: + Sorting time 6.28s + Memory 1'222'241.93k(*) + OS Memory 1'402'920.00k(*) + + Call quickSortLight: + Sorting time 0.78s + Memory 80'669.28k + OS Memory 102'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + C) Array of size 250'000'000 with + random values from 0 to 999'999'999 range (dense) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 15.34s + memory 1'953'471.81k + OS Memory 1'977'436.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 124.68s + Memory 7'573'720.34k(*) + OS Memory 8'388'448.00k(*) + + Call quickSortLight: + Sorting time 72.41s + Memory 1'955'520.78k + OS Memory 1'977'180.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + D) Array of size 250'000'000 with + random values from 0 to 99'999 range (sparse) + and around 10% of missing data. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + Array: + Population time 16.07 + Memory 1'953'469.78k + OS Memory 1'977'180.00k + + Call sortn: + FATAL: Insufficient memory to execute DATA step program. + Aborted during the COMPILATION phase. + ERROR: The SAS System stopped processing this step + because of insufficient memory. + + Call quickSortHash: + Sorting time 123.5s + Memory 7'573'722.03k + OS Memory 8'388'448.00k + + Call quickSortLight: + Sorting time 1'338.25s + Memory 1'955'529.90k + OS Memory 1'977'436.00k +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +(*) When using hash tables in `Proc FCMP` the RAM + usage is not indicated properly. The memory + allocation is reported up to the session limit + and then reused if needed. The really required + memory is in fact much less then reported. + +--- + + +--- + +## `%date()` macro ###### + +## >>> `%date()` macro: <<< ####################### + +The date() macro function is a "lazy typer" wrapping up `%sysfunc(date())`. + +See examples below for the details. + +The `%date()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%date() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `date()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `date()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `date()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %date(date11.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%datetime()` macro ###### + +## >>> `%datetime()` macro: <<< ####################### + +The datetime() macro function is a "lazy typer" wrapping up `%sysfunc(datetime())`. + +See examples below for the details. + +The `%datetime()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%datetime() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `datetime()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `datetime()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` as "long" and "short" ISO-8601: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %datetime(e8601dt.); + %put %datetime(b8601dt.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Get value of `datetime()` with user defined format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + proc format; + picture myCrazyDT (default=50) + other='%0Ssec. %0Mmin. %0Hhour %0dday %0mmonth %Yyear' (datatype=datetime) + ; + run; + + %put %datetime(myCrazyDT.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%downloadfilesto()` macro ###### + +## >>> `%downloadFilesTo()` macro: <<< ####################### + +The downloadFilesTo() macro copy files (in binary mode +using `filename()` function with options `lrecl=1 recfm=n`) +from list provided by user to a directory indicated +in the macro call. + +Macro can be executed in two possible ways: +1) by providing list of files to download in a `datalines4`(`cards4`) list + directly after macro call: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo() + datalines4; + + + ... + + ;;;; + run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +2) by create a dataset with a list of links and use of `DS=`, `DSvar=`, + and `DSout=` parameters: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %downloadFilesTo( + , DS= + , DSvar= + , DSout= + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%downloadFilesTo()` macro **does not** execute as a pure macro code. + +Temporary dataset `work.______locationInfoData` is generated during processing. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%downloadFilesTo( + target + <,DS=> + <,DSvar=link> + <,DSout=scan(link,-1,"/\")> + <,inDev=URL> + <,outDev=DISK> + <,inOptions=> + <,outOptions=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `target ` - *Required*, a path to target directory. + If empty the `WORK` location is used. + +*. `DS= ` - *Optional*, name of data set with list + of files to download. + +*. `DSvar= ` - *Optional*, name of variable in data set + with list of files to download. + +*. `DSout=` - *Optional*, name of variable in data set + with list of names for to downloaded files. + Default value is: `scan(link,-1,"/\")` it is + an expression to cut last part of the link. + +*. `inDev=` - *Optional*, type of device used by the + `filename()` function to access incoming files. + Default value is `URL`. + +*. `outDev=` - *Optional*, type of device used by the + `filename()` function to access outgoing files. + Default value is `DISK`. + +*. `inOptions=` - *Optional*, list of additional options for the + `filename()` function to access incoming files. + Default value is empty. + +*. `outOptions=` - *Optional*, list of additional options for the + `filename()` function to access outgoing files. + Default value is empty. + + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Download data from web with direct list and then copy between directories: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +%downloadFilesTo(~/directoryA) +datalines4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-189.zip +;;;; +run; + +%downloadFilesTo(~/directoryB,inDev=DISK) +datalines4; +~/directoryA/WUSS-2023-Paper-189.pdf +~/directoryA/WUSS-2023-Paper-189.zip +;;;; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Download data from web using data set with list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +resetline; +data listOfFiles; +infile cards; +input files :$1024.; +cards4; +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-201.pdf +https://www.lexjansen.com/wuss/2023/WUSS-2023-Paper-109.pdf +;;;; +run; + +%downloadFilesTo(R:\directoryC, DS=listOfFiles, DSvar=files) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%expanddatasetslist()` macro ###### + +## >>> `%expandDataSetsList()` macro: <<< ####################### + +The `%expandDataSetsList()` macro is dedicated to "lazy typers". + +It allows to expand data set names provides in form of a SAS list for a given library. + +See examples below for the details. + +The `%expandDataSetsList()` macro works as pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%expandDataSetsList( + lib + ,datasets + <,quote=> + <,views=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `datasets` - *Required*, is a list of data sets or views + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `quote` - *Optional*, binary indicator (default `0` means "no"). + Tells if data set names should be quoted. + +*. `views` - *Optional*, binary indicator (default `1` means "yes"). + Tells if views names should be listed too. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data x_a x_b x_c x_d x_e x_f; + x=17; +run; +data y1 y2 y3 y4 y9 y10 y11 y12; + y=42; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Display names of listed datasets, handle not existing too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 notExist_1-notExist_10)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Display one and all datasets from `WORK`, names quoted: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=work,datasets=_ALL_, quote=1); + +%PUT %expandDataSetsList(lib=work,datasets=x_a, quote=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** In tandem with the `resolve()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data _null_; + test=resolve('%expandDataSetsList(lib=work,datasets=x_:, quote=1)'); + put test / test hex72.; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Workaround for `proc delete` not working with colon operator, + observe a warning info for `x_:` list: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +proc delete lib=work data=%expandDataSetsList(lib=work,datasets=x_:) +; +run; + +%PUT #%expandDataSetsList(lib=work,datasets=x_: y1-y4 y9)#; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Including and excluding views: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_); + +%PUT %expandDataSetsList(lib=sashelp,datasets=_ALL_,views=0); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%filepath()` macro ###### + +## >>> `%filePath()` macro: <<< ####################### + +The filePath() macro function returns path to a file, +it is a wrapper to `pathname()` function for files. + +See examples below for the details. + +The `%filePath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%filePath( + fileref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `fileref` - *Required*, a fileref from the `filename` statement. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to temporary file: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + filename f temp; + %put %filePath(f); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%finddswithvarval()` macro ###### + +## >>> `%findDSwithVarVal()` macro: <<< ####################### + +The findDSwithVarVal() macro searches for all +datasets (available for a given session) containing +a variable of a given value. + +The value search is case sensitive - but can be altered with `IC=` parameter. +The value search keeps leading blanks - but can be altered with `TB=` parameter. +The value search compares full value - but can be altered with `CTS=` parameter. + +The default variable type is `char`, the `type=` parameter allows +to change it (possible values are `char` and `num`), the parameter is case sensitive. + +Only datasets are searched, views are not included. + +During the process two temporary datasets named: +`WORK._` (single underscore) and `WORK.__` (double underscore) +are generated. The datasets are deleted at the end of the process. + +By default search results are stored in the `WORK.RESULT` dataset. +Name of the dataset can be altered with `result=` parameter. +The dataset with result contains two variables: +`datasetName` - names of datasets, +`firstObservation` - the firs occurrence of the value. + +See examples below for the details. + +The `%findDSwithVarVal()` macro does not execute as a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%findDSwithVarVal( + variable + ,value + <,type=> + <,ic=> + <,tb=> + <,cts=> + <,lib=> + <,result=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `variable` - *Required*, name of variable to be searched. + +2. `value` - *Required*, the value to be searched. + +*. `type` - *Optional*, default value is `char`. + Indicates which type is the searched value. + Possible values are `char` and `num`, + the parameter is case sensitive. + +*. `ic` - *Optional*, "Ignore Cases", default value is `0`. + Indicates should the search ignore cases of the text values. + Possible values are `0` and `1`. + +*. `tb` - *Optional*, "Trim Blanks", default value is `0`. + Indicates should the search trim leading and trailing + blanks of the text values. + Possible values are `0` and `1`. + +*. `cts` - *Optional*, "Compare To Shorter", default value is `0`. + IF set to `1` execute value comparison as `=:` for the text value. + Possible values are `0` and `1`. + See examples. + +*. `lib` - *Optional*, default value is missing. + If not empty narrows the search to a particular library. + +*. `result` - *Optional*, default value is `WORK.RESULT`. + Is the name of the dataset with results. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Search variable `NAME` containing value `John`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(name, John) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Search numeric variable `AGE` containing value `14`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %findDSwithVarVal(age, 14, type=num) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Search numeric variable `SCORE` with missing value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data TEST; + score=17; output; + score=42; output; + score=. ; output; + run; + + %findDSwithVarVal(score, ., type=num, result=WORK.MissingScore) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Search library `WORK` for variable `NAME` starting with value `Jo` + ignoring cases and trimming blanks from value: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data A; + name="Joanna"; + data B; + name="john"; + data C; + name=" Joseph"; + data D; + name=" joe"; + run; + + %findDSwithVarVal(name, Jo, ic=1, tb=1, cts=1, lib=WORK) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%fmt()` macro ###### + +## >>> `%fmt()` macro: <<< ####################### + +The fmt() macro function returns a `value` formatted by a `format`, +it is a wrapper to `putN()` and `putC()` functions. + +See examples below for the details. + +The `%fmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%fmt( + value + ,format + ,align + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `format` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +3. `align` - *Optional*, allows to use the `-L`, `-R` and `-C` modifiers. + +* `type=n` - *Optional*, defines type of the format. If the format + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Formatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %fmt(111, 7.2); + + %put %fmt(111, dollar10.2); + + %put %fmt(abc, $upcase.); + + %put %fmt(12345, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Align values (compare different results!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put *%fmt(ABC, $char9., -L)*; + %put *%fmt(ABC, $char9., -R)*; + %put *%fmt(ABC, $char9., -C)*; + + %put %fmt(ABC, $char9., -L); + %put %fmt(ABC, $char9., -R); + %put %fmt(ABC, $char9., -C); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%generateoneliners()` macro ###### + +## >>> `%GenerateOneLiners()` macro: <<< ####################### + +The `%GenerateOneLiners()` macro is a "macro-generator" dedicated +to "lazy typers". + +It allows to generate macro wrappers for functions +that have the following form: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%macro FUNCTION()/parmbuff; +%sysfunc(FUNCTION&syspbuff) +%mend FUNCTION; + +%macro qFUNCTION()/parmbuff; +%qsysfunc(FUNCTION&syspbuff) +%mend qFUNCTION; +~~~~~~~~~~~~~~~~~~~~~~~ + +See examples below for the details. + +The `%GenerateOneLiners()` macro is not pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + <,listOfFunctions=> + <,prefix=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `listOfFunctions` - *Required*, is a space separated list of + valid SAS functions. Default value is: + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`. + +2. `prefix` - *Optional*, a prefix added to the name + of a created macro. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create list of macrofunctions for + `CATX CATQ CATT CAT COMPRESS REVERSE REPEAT`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_) + +%let a = 1,2,3,4,5,6; +%put %_CATX(%str( ),&a.); +%put %_CATQ(2A,&a.); +%put %_QCATQ(1AMD,%str(,),&a.); + +%let x=a 1 b 2 c 3 d 4 e 5 f 6 g; +%put %_COMPRESS(&x.); +%put %_COMPRESS(&x.,,ka); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Create list of macrofunctions for + `SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners( + listOfFunctions=SUM MEAN MEDIAN VAR STD USS CSS RANGE IQR MAD SUMABS +, prefix=_) + +%put +%_SUM(1,2,3,4,5,6) +%_MEAN(1,2,3,4,5,6) +%_MEDIAN(1,2,3,4,5,6) +%_VAR(1,2,3,4,5,6) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 3.** Some other lists: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%GenerateOneLiners(prefix=_ +, listOfFunctions=CDF PDF RAND QUANTILE SQUANTILE SDF logCDF logPDF logSDF RMS +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YEAR QTR MONTH WEEK DAY HOUR MINUTE SECOND +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PCTL1 PCTL2 PCTL3 PCTL4 PCTL5 PCTL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=YYQ MDY HMS INTCK INTNX SLEEP +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=WHICHC WHICHN +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=SYMEXIST SYMGLOBL SYMLOCAL +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=PRXCHANGE PRXMATCH PRXPAREN PRXPARSE +) + +%GenerateOneLiners(prefix=_ +, listOfFunctions=MD5 SHA256 HASHING +) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%gettitle()` macro ###### + +## >>> `%getTitle()` macro: <<< ####################### + +The getTitle() macro extract text of titles or footnotes +into a delimited list. + +Titles/footnotes numbers can be selected with the `number` argument. +Only the text of a title or footnote is extracted. + +Author of the original code is: Quentin McMullen (`qmcmullen.sas@gmail.com`). + +See examples below for the details. + +The `%getTitle()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%getTitle( + < number> + <,type=> + <,dlm=> + <,qt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `number` - *Optional*, default value is empty, + indicates numbers of titles to be extracted. + Space-separated list is expected. + If empty or `_ALL_` extract all non-missing. + +*. `type` - *Optional*, default value is `T`. + Indicates which type is the searched. + `T` fro title, `F` for footnote. + +*. `dlm` - *Optional*, "DeLiMiter", default value is `|` (pipe). + Possible values are: `| \ / , . ~ * # @ ! + - _ : ?` + or `s` for space, `c` for comma, `d` for semicolon. + +*. `qt` - *Optional*, "QuoTes", default value is empty. + Use `%str()` for single quote symbol (e.g. `%str(%")`). + If there are multiple symbols, only the first and the + second are selected as a leading and trailing one, + e.g. `qt=""` gives `"title1 text" "title2 text" ... `. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get titles in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + title1 j=c "Hi Roger" ; + title2 j=l "Good Morning" ; + title3 "How are you?" ; + title4 ; + title5 "Bye bye!" ; + + %put %GetTitle() ; + + %put %GetTitle(1 3,dlm=c, qt=[]) ; + + %put %GetTitle(2:4,dlm=s, qt='') ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Get footnotes in different forms: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + footnote1 "First little footnote"; + footnote2 "Second little footnote"; + footnote3 "Third little footnote"; + + %put %GetTitle(1 2,type=f,dlm=s, qt="") ; + %put %GetTitle(2 3,type=f,dlm=c, qt='') ; + %put %GetTitle(1 3,type=f,dlm=d, qt=[]) ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%iffunc()` macro ###### + +## >>> `%iffunc()` macro: <<< ####################### + +The iffunc() macro function is a "lazy typer" wrapping up conditional execution. + +Instead typing: +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%if (1=&x.) %then + %do; + %let test = TRUE; + %end; +%else + %do; + %let test = FALSE; + %end; + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +you can make it: + +~~~~~~~~~~~~~~~~~~~~~~~sas +%let x = 1; + +%let test = %iffunc((1=&x.),TRUE,FALSE); + +%put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~ + +The `%iffunc()` macro ca be nested in open code +in contrary to standard `%IF-%THEN-%ELSE`. + +The `minoperator` option is used to handle `IN` operator, +but the `IN` operator in the condition *has* to be surrounded +by spaces, e.g. `&x. in (1 2 3)`. +Condition of the form `&x. in(1 2 3)` (no space after `in`) will +result with an error. + +See examples below for the details. + +The `%iffunc()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%iffunc( + cond + ,true + ,false + <,v=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `cond` - *Required*, is a condition to be evaluated. + It **has** to be provided in brackets, + e.g., `(1=&x.)` or `(%scan(&x.,1)=A)`. + +2. `true` - *Required*, value returned when condition is true. + +3. `false` - *Required*, value returned when condition is false. + +4 `v=` - *Optional*, v for verbose. If set to `1` extra notes + are printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple test: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = 1; + %let test = %iffunc((&x.=1),True,False); + %put &=test.; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Verbose with `v=` in the `%put` statement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc((TRUE=true),TRUE,FALSE,v=1); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Condition can be with decimals or text: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put True: %iffunc((9.9<10),TRUE,FALSE); + + %put False: %iffunc((A>B),TRUE,FALSE); + + %put True: %iffunc((1=1.0),TRUE,FALSE); + + %put False: %iffunc((1/3 = 0.5),TRUE,FALSE); + + %put True: %iffunc((.1+.1+.1+.1+.1+.1+.1+.1+.1+.1 = 1),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Macro-Functions works too: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A B C; + %put %iffunc((%scan(&x.,1)=A),Starts with "A"., Does not start with "A".); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Simple nesting (in open code): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x=0; + %let y=0; + + %put + %iffunc((&x.) + ,It is X. + ,%iffunc((&y.) + ,It is Y. + ,It is Z. + ,v=1) + ,v=1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Special characters have to be masked: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %iffunc(1,%str(,),%str(;)); + %put %iffunc(0,%str(,),%str(;)); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If you want to call macros there is a price. + The `%nrstr()` and `%unquote()` are required: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %macro doX(a,b); + %put >>> &a. &b; + data do_X; + set sashelp.class; + run; + %mend; + %macro doY(a,b); + %put ### &a. &b; + data do_Y; + set sashelp.cars; + run; + %mend; + %macro doZ(a,b); + %put @@@ &a. &b; + data do_Z; + set sashelp.iris; + run; + %mend; + + %let x=0; + %let y=0; + + %unquote( + %iffunc((&x.) + ,%nrstr(%doX(1,2)) + ,%iffunc((&y.) + ,%nrstr(%doY(3,4)) + ,%nrstr(%doZ(5,6)) + ,v=1) + ,v=1) + ) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 8.** Traffic lights with `NOTE:` and `ERROR:`, + Remember to handle the `IN` operator with an extra care. + Spaces are required around the `IN` operator. +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = A; + %put %iffunc((&x. IN (A B C)),NOTE:,ERROR:) x=%superq(x); + + %let x = 7; + %put %iffunc((&x. IN (1 3 5)),NOTE:,ERROR:) x=%superq(x); + + %let x = 1.1; + %put %iffunc((&x. IN (1.1 2.1 3.1)),NOTE:,ERROR:) x=%superq(x); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 9.** Mixing `IN` operator with non-integer evaluation + requires `%sysevalf()` function: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let x = Y; + %let y = 9.9; + + %put THIS will be False: %iffunc((&x. in (y Y) AND &y.<10),TRUE,FALSE); + + %put THIS will be True: %iffunc((&x. in (y Y) AND %sysevalf(&y.<10)),TRUE,FALSE); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%infmt()` macro ###### + +## >>> `%infmt()` macro: <<< ####################### + +The infmt() macro function returns a `value` read in by an `informat`, +it is a wrapper to `inputN()` and `inputC()` functions. + +See examples below for the details. + +The `%infmt()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%infmt( + value + ,informat + <,type=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `value` - *Required*, a value to be formatted. + +2. `informat` - *Required*, a name of a format to be used, + character format should be preceded by the `$`. + +* `type=n` - *Optional*, defines type of the informat. If the informat + name is preceded by the `$` then C is set automatically. + If the character format name is without `$` then set + value to `C` yourself. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Informatting values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %infmt(111, 7.2); + %put %infmt(111.234, 7.2); + + %put %infmt($111, dollar10.2); + %put %infmt($111.234, dollar10.2); + + %put %infmt(abc, $upcase.); + + %put %infmt(12mar45, date9.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%letters()` macro ###### + +## >>> `%letters()` macro: <<< ####################### + +The letters() macro function allows to print a list of Roman +letters starting from `start` up to `end` incremented by `by`. +The letters list can be uppercases or lowercase (parameter `c=U` or `c=L`), +can be quoted (e.g. `q=""` or `q=[]`), and can be separated by `s=`. + +Values of `start`, `end`, and `by` have to be integers in range between 1 ad 26. + +See examples below for the details. + +The `%letters()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%letters( + range + <,c=> + <,q=> + <,s=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `range` - *Required*, letters selector in form `start:end:by`. + Lists letters from `start` to `end` by `by`. + Values of `start`, `end`, and `by` are separated by + colon and must be between 1 ad 26. + If value is outside range it is set to + `start=1`, `en=26`, and `by=1`. If `end` is missing + then is set to value of `start`. + If `end` is smaller than `start` list is reversed + +* `c = U` - *Optional*, it is a lowercase letters indicator. + Select `L` or `l`. Default value is `U` for upcase. + +* `q = ` - *Optional*, it is a quite around elements of the list. + Default value is empty. Use `%str()` for one quote symbol. + If there are multiple symbols, only the first and the + second are selected as a preceding and trailing one, + e.g. `q=[]` gives `[A] [B] ... [Z]`. + +* `s = %str( )` - *Optional*, it is a separator between + elements of the list. Default value is space. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Space-separated list of capital letters from A to Z: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:1); + + %put %letters(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** First, thirteenth, and last letter: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1) %letters(13) %letters(26); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Every third lowercase letter, i.e. `a d g j m p s v y`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:3,c=L); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Lists with separators: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,s=#); + %put %letters(1:26:3,s=%str(;)); + %put %letters(1:26:4,s=%str(,)); + %put %letters(1:26,s=); + %put %letters(1:26,s==); + %put %letters(1:26,s=/); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Every second letter with quotes: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26:2,q=%str(%')); + %put %letters(2:26:2,q=%str(%")); + + %put %letters(1:26:2,q=''); + %put %letters(2:26:2,q=""); + + %put %letters(1:26:2,q=<>); + %put %letters(2:26:2,q=\/); + + %put %letters(1:26:2,q=()); + %put %letters(2:26:2,q=][); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Mix of examples 4, 5, and 6: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(1:26,c=L,q='',s=%str(, )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** If `end` is smaller than `start` list is reversed: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %letters(26:1:2,q=''); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%libpath()` macro ###### + +## >>> `%libPath()` macro: <<< ####################### + +The libPath() macro function returns path to a library, +it is a wrapper to `pathname()` function for libraries. + +See examples below for the details. + +The `%libPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%libPath( + libref +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `libref` - *Required*, a libref from the `libname` statement. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Return path to `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(WORK); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Return path to `SASHELP` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %libPath(SASHELP); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%minclude()` macro ###### + +## >>> `%mInclude()` macro: <<< ####################### + +The mInclude() macro is a macrolanguage version of the SAS `%include` statement. +But it allows for "embedding any code anywhere into SAS programs". + +Macro was inspired by *Leonid Batkhan* and his blog post: + +"Embedding any code anywhere into SAS programs" from May 30, 2023. + +Link: `https://blogs.sas.com/content/sgf/2023/05/30/embedding-any-code-anywhere-into-sas-programs/` + +The implementation presented, in contrary to inspiration source, is +based on the `doSubL()` function and a list of global +macro variables of the form `______` (six underscores and a number). + +See examples below for the details. + +The `%mInclude()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%mInclude( + < f> + <,source=> + <,lrecl=> + <,symdel=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `f` - *Required*, a SAS `fileref` or a **quoted** path + to the included file. + +*. `source=0` - *Optional*, default value is `0`. + Set to `1` if the source should be printed in the log. + +*. `lrecl=32767` - *Optional*, default value is `32767`. + Sets the `lrecl` value for the file width. + +*. `symdel=1` - *Optional*, default value is `1`. + Indicates if the global macro variables + `______1` to `______N` should be deleted + when the macro ends. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Embedding text in statements (the `%include` won't work here): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile1.txt"; + filename f list; + + data _null_; + file f; + put "13 14 15"; + run; + + resetline; + data testDataset; + set sashelp.class; + where age in ( %mInclude(f) ); + run; + + data testDataset2; + set sashelp.class; + where age in ( %mInclude(f,source=1) ); + run; + + filename f clear; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Embedding with direct path (mind those quotes!): +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f "%workpath()/testFile2.txt"; + filename f list; + + %let someGlobalMacroVariable=17; + + data _null_; + file f; + put "options mprint;"; + do i=1 to 3; + put "data y; x = " i "; run;"; + put '%macro A' i +(-1) '(); %put ' i ' ** &someGlobalMacroVariable.; %mend; %A' i +(-1) '()'; + end; + put "options nomprint;"; + run; + + resetline; + %mInclude("%workpath()/testFile2.txt") + + %mInclude("%workpath()/testFile2.txt",source=1) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Embedding SQL code inside the pass through execution: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + resetline; + filename f2 "%workpath()/testSql.txt"; + + data _null_; + file f2; + input; + put _infile_; + cards4; + select + c2.make + , c2.model + , c2.type + , c2.invoice + , c2.date + + from + public.CARS_EU c2 + + where + c2.cylinders > 4 + and + c2.date > '2023-04-02' + ;;;; + run; + + + title 'the %include fails'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + select * from connection to PSGDB + ( + %Include f2 / source2; + ) + ; + + disconnect from PSGDB; + quit; + + title 'the %mInclude works'; + proc sql; + connect to POSTGRES as PSGDB ( + server="127.0.0.1" + port=5432 + user="user" + password="password" + database="DB" + ); + + + select * from connection to PSGDB + ( + %mInclude(f2, source=1) + ) + ; + + disconnect from PSGDB; + quit; + + title; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** In a limited way and with help of the `resolve()` function, + it even works with IML's interface to R: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + +resetline; +filename f3 TEMP; + +data _null_; + file f3; + infile cards4; + input; + put _infile_ ';'; %* a "semicolon" trick for R statements separation *; +cards4; +rModel <- lm(Weight ~ Height, data=Class, na.action="na.exclude") +print (rModel$call) +print (rModel) +;;;; +run; + + +proc iml; + codeText = resolve(' %mInclude(f3, source=1) '); + print codeText; + + call ExportDataSetToR("Sashelp.Class", "Class" ); + submit codeText / R; + &codeText + endsubmit; +quit; + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%monthshift()` macro ###### + +## >>> `%monthShift()` macro: <<< ####################### + +The monthShift() macro is a utility macro +which allows to shift "year-month" period by +a given number of "periods" (months). + +The result is in the `YYYYMM` format but can be altered. + +See examples below for the details. + +The `%monthShift()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%monthShift( + < Y> + <,M> + <,shift> + <,ofmt=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `Y` - *Optional*, a year from which counting starts. + If null the value is set to *system year*. + +2. `M` - *Optional*, a month from which counting starts. + If null the value is set to `1`. Can be a number + (`1` to `12`) or a name (`June`, `OCTOBER`) or + a three letters short (`JAN`, `apr`). + +3. `shift` - *Optional*, number of periods to shift. + If null the value is set to `0`. + Positive value shifts to the "future", + negative value shifts to the "past", + Can be an expression (e.g. `1+2*3`, see examples). + +* `ofmt=YYMMn6.` - *Optional*, it is a format name used to + display the result. Default value is `YYMMn6.` + See examples. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Shift one up and one down: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put + Past: %monthShift(2023, 1, -1) + Current: %monthShift(2023, 1 ) + Future: %monthShift(2023, 1, +1) +; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Shift by expression: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %let n = 2; + %put + %monthShift(2023, 1, +1 + &n.*3) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Shift with default values: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %monthShift(); + %put %monthShift(2023); + %put %monthShift(2023,Jan); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Shift with months names: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023,Jan,-1) + %monthShift(2023,Feb,-2) + %monthShift(2023,Mar,-3) + %monthShift(2023,Apr,-4) + %monthShift(2023,May,-5) + %monthShift(2023,Jun,-6) + %monthShift(2023,Jul,-7) + %monthShift(2023,Aug,-8) + %monthShift(2023,Sep,-9) + %monthShift(2023,Oct,-10) + %monthShift(2023,Nov,-11) + %monthShift(2023,Dec,-12) + ; + + %put + %monthShift(2023,January,12) + %monthShift(2023,February,11) + %monthShift(2023,March,10) + %monthShift(2023,April,9) + %monthShift(2023,May,8) + %monthShift(2023,June,7) + %monthShift(2023,July,6) + %monthShift(2023,August,5) + %monthShift(2023,September,4) + %monthShift(2023,October,3) + %monthShift(2023,November,2) + %monthShift(2023,December,1) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 5.** Play with formatting: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put + %monthShift(2023, 1, +1 ) + %monthShift(2023, 1, +1, ofmt=yymm7. ) + %monthShift(2023, 1, +1, ofmt=yymmd7.) + %monthShift(2023, 1, +1, ofmt=yymms7.) + ; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 6.** Read monthly data with `noDSNFERR` option: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + data + A202210 A202211 A202212 + A202301 A202302 A202303 + A202304 A202305 A202306 + A202307 A202308 A202309 + ; + set sashelp.class; + run; + + + options noDSNFERR; + data ALL; + set + A%monthShift(2023, 9, -12) - A%monthShift(2023, 9) + ; + run; + options DSNFERR; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%replist()` macro ###### + +## >>> `%repList()` macro: <<< ####################### + +The repList() macro function allows to repeat `T` +times elements of a `L` list, possibly `E` times each element, +separated by string `S`. + +See examples below for the details. + +The `%repList()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%repList( + list + <,times=> + <,each=> + <,lenghtOut=> + <,sep=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `list` - *Required*, a list of elements to be repeated. + List can be space or comma-separated. + Elements can be in quotes. + For comma-separated list add brackets + e.g., `%repList((A,B,C,D),times=5)`. + The list separators are: `<{[( ,;)]}>`. + +* `times=` - *Optional*, An integer indicating + the number of repetitions. + By default set to `1`. + + +* `each=` - *Optional*, A list of integers indicating + the number of repetitions of each element of the list + e.g., for a list `A B C` and the `each=2 4` the result + is `A A B B B B C C`. If the number of integers is less + then the length of the list values are recycled from + the beginning. + By default set to `1`. + +* `lenghtOut=` - *Optional*, An integer indicating + after what the number of repetitions process will stop. + By default set to `0` which means "do not stop". + +* `sep=` - *Optional*, it is a separator printed between + repeated elements. Mnemonics for *space* is `s`, + for *comma* is `c`, and for semicolon in `q`. + Default value is a single space. + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple repetition of all elements: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList((A,B,C,D), times=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Simple repetition of each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(("A",'B',"C",'D'), each=3); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Simple repetition with a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(A10;B20;C30, times=3, each=2, sep=Q); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Recycle elements up to 8 with a comma as a separator: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put %repList(1 2 3, lenghtOut=8, sep=c); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 5.** Separate number of repetitions for each element: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put [%repList([D][C][B][A], each = 2 3 5 7, sep=] [)]; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 6.** "ASCII art" butterflies: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%put {>%repList(! $ |, times = 2, each =2 1, sep=<} ... {>)<}; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 7.** Data repeating: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data A; + x=17; +data B; + x=42; +data C; + x=303; +run; + +data Times2_A10B11C12; + set + %repList(A B C, times = 2, each =10 11 12) + ; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +--- + + +--- + +## `%time()` macro ###### + +## >>> `%time()` macro: <<< ####################### + +The time() macro function is a "lazy typer" wrapping up `%sysfunc(time())`. + +See examples below for the details. + +The `%time()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%time() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `time()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `time()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `time()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %time(time8.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%today()` macro ###### + +## >>> `%today()` macro: <<< ####################### + +The today() macro function is a "lazy typer" wrapping up `%sysfunc(today())`. + +See examples below for the details. + +The `%today()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%today() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + + - `format` - *Optional*, if a value is provided + it should be a valid SAS format capable of handling + values produced by the `today()` function. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Get value of `today()`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**EXAMPLE 2.** Get value of `today()` with a format: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %today(yymmdd10.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%translate()` macro ###### + +## >>> `%translate()` macro: <<< ####################### + +The translate() macro function allows to replace bytes with bytes in text string. + +See examples below for the details. + +The `%translate()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%translate( + string + ,from + ,to +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, list of bytes to be replaced with + corresponding bytes from `to`. + +3. `to` - *Required*, list of bytes replacing + corresponding bytes from `from`. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Replace quotes and commas with apostrophes and spaces: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str("A", "B", "C"),%str(%",),%str(%' )); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Unify all brackets; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str([A] {B} (C) ),{[(<>)]},(((())))); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Replace all digits with `*`: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(QAZ1WSSX2EDC3RFV4TGB5YHN6UJM7IK8OL9P0,1234567890,**********); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Letters change: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %translate(%str(A=B),AB,BA); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%tranwrd()` macro ###### + +## >>> `%tranwrd()` macro: <<< ####################### + +The tranwrd() macro function allows to replace substrings +with other substrings in text string. + +Returned string is unquoted by `%unquote()`. + +See examples below for the details. + +The `%tranwrd()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%tranwrd( + string + ,from + ,to + <,repeat> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `string` - *Required*, string to modify. + +2. `from` - *Required*, substring replaced with + corresponding string from `to`. + +3. `to` - *Required*, substring replacing + corresponding substring from `from`. + +4. `repeat` - *Optional*, number of times the replacing + should be repeated, default is 1. + Useful while removing multiple adjacent + characters, e.g. compress all multiple + spaces (see example 2). +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Simple text replacement: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(Miss Joan Smith,Miss,Ms.); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Delete multiple spaces; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(%str(A B C),%str( ),%str( ),5); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** Remove substring: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + %put %tranwrd(ABCxyzABCABCxyzABC,ABC); +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%unifyvarscasesize()` macro ###### + +## >>> `%unifyVarsCaseSize()` macro: <<< ####################### + +The `%unifyVarsCaseSize()` macro converts *all* variables names into low-case or +upcase letters for given library and list of datasets. Only necessary conversion is +done, i.e., variable `abc` will not be converted to low-case letters. + +See examples below for the details. + +The `%unifyVarsCaseSize()` macro works as pure macro code. + +[NOTE:] The macro internally uses the `%expandDataSetsList()` macro. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize( + lib + ,ds + <,case=> + <,debug=> +) +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +1. `lib` - *Required*, is a name of a library + where data sets are looked-up. + +2. `ds` - *Required*, is a list of data sets + to be expanded. Can be named list (e.g. `x_:`), + can be enumerated list (e.g. `y_1-y_5`), or both. + Also the `_ALL_` value is accepted. + +*. `case` - *Optional*, single letter indicator (default `L` means "low-case"). + Tells if variables names should low-cased (`l`,`L`) or upcased ("u", "U"). + +*. `debug` - *Optional*, binary indicator (default `0` means "no"). + Tells if processing notes should be printed. +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 0.** Create data sets for tests: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data aclass1 aclass2 aclass3 bclass4 bclass5 bclass6; + set sashelp.class(obs=6); + Nn=_N_; + if 1=_N_ then output aclass1; + if 2=_N_ then output aclass2; + if 3=_N_ then output aclass3; + if 4=_N_ then output bclass4; + if 5=_N_ then output bclass5; + if 6=_N_ then output bclass6; +run; +proc print data=aclass1; +run; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 1.** Convert all variables names to low-case: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,aclass:) + +proc print data=aclass1; +proc print data=aclass2; +proc print data=aclass3; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 2.** Convert all variables names to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,bclass4-bclass6,case=U) + +proc print data=bclass4; +proc print data=bclass5; +proc print data=bclass6; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 3.** No conversion done: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +data work.abc; + abc=42; +run; + +%unifyVarsCaseSize(work,abc,debug=1) + +proc print data=abc; +run; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +**EXAMPLE 4.** Variables in all data sets in `WORK` converted to upcase: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas +%unifyVarsCaseSize(work,_ALL_,case=L) +%unifyVarsCaseSize(work,_ALL_,case=U) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + +## `%workpath()` macro ###### + +## >>> `%workPath()` macro: <<< ####################### + +The workPath() macro function returns path to the `WORK` library, +it is a wrapper to `pathname("work", "L")` function. + +See examples below for the details. + +The `%workPath()` macro executes like a pure macro code. + +### SYNTAX: ################################################################### + +The basic syntax is the following, the `<...>` means optional parameters: +~~~~~~~~~~~~~~~~~~~~~~~sas +%workPath() +~~~~~~~~~~~~~~~~~~~~~~~ + +**Arguments description**: + +*) No arguments. + +--- + + +### EXAMPLES AND USECASES: #################################################### + +**EXAMPLE 1.** Create new library inside `WORK` library: +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas + options dlCreateDir; + libname NEW "%workPath()/new"; +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +--- + + +--- + + +--- + +# License ###### + +Copyright (c) 2020 - 2023 Bartosz Jablonski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + diff --git a/hist/2.0.0/baseplus.zip b/hist/2.0.0/baseplus.zip new file mode 100644 index 0000000000000000000000000000000000000000..bddaeb003613db125215ccc50712e412a0993bb9 GIT binary patch literal 315042 zcmaI6Q;=Z6wzXTfZQHhOb=kIU+qP}nwr$(hW#2w=?#n(A`_H!(kxwIMt~th+Q$ZRS z1O)&900O|i_Eo(~WX66P1^_^V5dZ)l00qF<#L39f!rs}!&X&%}zzGll;osK(Ts>HK zZd+`(Ub|Dj{+zPp9*syF6PsjbIyl@rjhIC9+I%;#<& z2uBbM7^MmPfSiGdY|ZhA&>?8r1Dy4gG9gMtSV7^b$Zc)DhY>>k#O9r!w?8kc$(Pc8hwe)4J!2G2=i{W>ReKJGw;`-lw&t;_=fm^$s z#zc#6dB395TUzLYX9k2ka*Yus0EcC&SMb9K7HzpYMA zUQZ|ZgKbF-EN9Ham}dt!xboZ4+;{u7VSMM;ix9KpjN>$NMsL}iMH(`$J#;ph^SG);0)URxYEJJ zHjWX-IQzF4gxLMf88OJ%=m-!eWsy(7LIutiI3X;u#KLPTG70njgObdt2=GG+mK^XL ze_Z)0>KwGx#-|i1%t%GliV&qXU0@w*eVVq_EC^7|A;Td|kvlZslmEP?7m+c>+(f8L zL4~OI8Bd72k0@^3Ucu>)u}TY{PZ+b9D6TpYe?dwEoj>FuO!eq%xVa_n!+}Qae+I{h z@t~FuyMT*x8HD$gIi~)KfC}s~o;SurF1bij2)9cFW!&?d`ozhHUU;XFVaXx$sqir3 zqHBv034~t6A*T*#k1JEa@z)ddYlPy)hz(Jk&%#MQcSD=?In&kA&wk8%>;$oYH_=UY z`aQX|*i{5Re{5tYv<9fv;SZ<`V+RP#{1NN$Cxz6aX^}lh+&?HY0x(S7Uzj(Smk^=C zC1VnWvws8G6>p$QFO?cXuwXl90KK*J_PUCr;wvv}PWHC|3xX(N;$V}WdU>7N3UXtZ z_r{tECXE7Ar*row-{T|0JDDQem*z2P`zsbrzWFgSYcJq01!a>R;Ke`wNg&61h>r^?!_ab!qljwoisqy zb!98S+b#vpda%g5G?=*@3o;>qZwLYS~m>n;I*V}jfnoqC0JH5uPM%# zITgMD7@9GUj4@$6`6PxhnL^iqta6Kiwrtb{4&L&V;`>nMqp?wOl;~IP9J|7-!3ndedV0 zPsd4>CPdfp;m2+IRi1hw&2`Q_gX?!Z<#WUy7`Z7Hu6OVZTmGk4BN)ihVf9L=-73tH zshxW8flZb%|4GC>xT_Dd_HSzYk5MEe7DYq?MiB>=k<2Di<|sF^7FL?%P=blw2Y|6@ zG|cJN=|S&1PqbueYamU@D8>wxwao2RiX2B4RP;1$-G(M?VHbWk-hMFUwViGb6dmz*B`eO1TZz6Y)z*p0AR22KmT*RQMN@5bok z4DTH24l9lCX0Bam0lmz%*(JFB5Ch~*C=)EfXmPjZ3#r8Pe5aTawOL^9$OWmno*iUA zXWT8x>6ePeT48zM2D!tII5Iy8?V+L~mIpuV?vO-qvb^`RYsTm7p2n@N;yUJb@+%WZ z)?JqaODlfZ#;$Kcw{j@-Nc^>Pi;UPx_xL#qj%)b6O63-FhBu4!wrmm7daWkKq5|~J zYp@~A6u>4Nfr3|rF%|IcE%$y{wx~^=)O#|9xfC2aQjA-|bp}Pb5+2rEm)F8oUn@X3 zI^A%)*>b9Z6d)W=2s{rAx<=)2{!7quOfJrvM9?l1jPThVj-y?#4AB_Mk+RO325$v* zJ<#;ed?*E9Sa6nOfl048k)o%7EVe0ft^$m4hLj%2c@1vei92|!4Y2WTtos82!O-q> zo{il|#1rA@wVas&$VPSKi;?P|dDdY%^tyNLv-exaij>8$Y@^}YyM8OWH06jy9wo&; z2?TTJ3dx^-(*jH7=hK?tGqN{GkJ9HxZ*^(4FzAE^7*fAQke2X* zaH#UPGIGV0CV_<^Paoqh9+qhO2H79|Iq_v<{HD&rXNMb}aJ)rRz&)Iy+Q_U|8WH#? zg-Q()3-h7r0Uq$%_BmvT3i_tr(g~N?Lz2JQQLE0Ke;qq^JW9m8`;(mZK`95zKjKebzWel|m8F}MMDooVI$}~yZ52dBHE&?SNYn&FBp~@EDOh-TlGyw;cjwWa6AQCN9eV{F||ESO+p{Z`a7_aFixc9 zI#>_kXB$K33v6SZ(FAx(PUYJa* z8V6Jw%ma2~^#;3a?0QwVOWmLO@A+L>Zf!4Gaew%k;G5g8vZhksqo$ z^=&xz3$yQ=K<&sT1&c$pgGG{I>v(4vCXdDafUK}9TW-Y{DiOU@g&Q@>6<3wYnfs>v zeT`YKAh;$oXLOe*X@6CKi7_&W;D2yDbL?@X!@aEK4YaBavofs%P3^sOqHv;C{;M+j zC&S|O?}U5HbOJ_OiicJP26_r0wn(1f(iczWsh+^n2T!KzO~VG;5_6eF1jYViHHn2^ z?Yw%f%VlX+-%VT z&3f)uoOrch@c> zZXel_glajxt7V403rWv(qKEjUdCOwwnvQklpGTe}GQ7_gcr%3yVa_8+-ulYb2ou)@ z;8l>-zytl*U-Y+M-yYtUV}+KUzr0d-Z4VyNy6KDAd~;JN=La$ao0Pf$Eg5SJBC*#w zE^hoBzF!vPwG}e4xehev5%TB`FC#v#py$;Jeu#%s7~S3v+P?dKFP*RaJa=W_Kfizq z{}G0$-G*_3fB*paK>z@t|AirI3nLR-CzJmcgmjej?6MdT{KOBrv;QtjRabSk^>FU9 z>_UizvP=~L%iW9F2j{5ll<5WfGnX1bS^@!?PDKGgQ@v zZ`>3wV(pA2;QD9Q@w&GbIGq6$Js32@CXncdmGZY8AGYjl74=9VcyETr5f}4%!3e4% zb9AoWURaeHmp#_D^-AZr4EJz@(|A&`nG&Foy!n7%Y6CyzcC=h}_CIFWc)R zl}$RG#o{-qJ2&&k0Y_#+E^}#b6~8aB1W>W`x%u4XQtBLqt}0RdrogEg{khw=V?OE7 z_O=JS(bb;El)D@2Y4tAq#B)9EWK|x;z49ZDIqnDl0#@G{nutj{{#CpqgO-L%(O$+b zySJf_&_HOJL7wwTfG$*_aR7Y0=3`(rfEWXO7 zq*$v=MimFf{EJqoPLX^-t-I_-5yiSM|K@Kw@i)8qFuaD*pC~GR(y?mzs4=u;nmKla zQ{2uv_c03XRLY4=71G#x1n)gKQ6lKU{MHbGOFXA}a{j5ARMBv+|d?nvbq=s)Y1 zMlVqa0}uef`Cknq|Ephn10yQ~GZPyVX9HscXM_J%$1#bDR)Y)(V|(DAaN@aC<`phR z!g{6qp+m8-T@CCVqw8Qv(rY9zuNP^R;q*n&Ah(2lpF7`>*7Jnb6Vxra{m-ZX;wAmJ zE;l=7!)IoG-17JV^D~ zbY=`#bp&y%{T18~QPXLyg%1J&Qk<34)d4K$7d0hGCAfli7AxFREaX<}4UVF}1I%cW z3A>UIZW`X$o)j#TsZPaSKkiRKJM<^q(f%TXETo-&DCl-yxtdW-give#_HFO*o(<2C z72B_e_ngJO?o2B=3cjH5PN8|Q|0Nk*J|8X(QO_)94?4DukNxY+(Tf`^UNnUkQ}z<~ z{eQ$o?RRd;0|o&2ga-gX`X}zce}lE1f${&Z@qg2HCe22E>wmPBKjg+qP$JcVgx_k8 zh?K;JhKS%Rr`~C1PjS!=mpIfXhk3bhn*}b8SV~!te2l8Bxyifp>)_VYze4S|MK7g^ z?jSe>1c?F`(ikrUc>@BH>t-xqKaSL33l4_56>vju79NP8>c{#AXP4P_IeA zq(@wRKi_&NtGo5yhYQUEtJTp&bE5p7^5?D9vj^m#9VMj?`~GVLQZe@uP#+RU;F{OW z8;C=;ZgUBJI+GqRHHyf=rQQK^8|lJo3YWx#nv6>T(w5A>36$@HQqK|#nzYzsh7#dL z%QR&|k)pW4BRg=dGht4p{@amyPBT=Gt0z;i6>?yHi6?~EdY>V|2B(x!0_Zszr>rkL z&Kn(O>z9!~NapX+@Ct&Tq966{bTege4#KQ285Amq%^!NVKgA6#|1G&7RrO~AWvta} z?fR$3=(Qz|ihqb0GQcAlY@jJdTMIm28Ymv#Ae(HDwuo-*Jb;l+-wWHGZ^@_`g6SI1 zI8px$rw{84%yMcD!Qu)2T5q)giN1<4rxOI6D}81LL<6H(}QI9NqllE&(IJgJCiEOErJC1g$^8OJx5b;_K1f4KVGQ^_?F zbGR9Oy!IeN%b~_IRX)$O)a+3bMP%8MlP7zw&DHGkz&b7@TB?bZ6p`^v_AVb1*vl1f zSJxch*F@u~JFLpOAn40WNj*F2dakO0PO15W#?7e40Sm76hM8d!A9B`HhI{MWm#C=z zkn}y`<$`HYhIW&LUB<;jn%QTP46+qnd(wotBSexX{l2vM`WBBi_*Ou}zFV(a&`NM? zs2CVGuB`aI?EQJAIzJbslmvdAnA4#gJ=xGtCEf9Y8O>j|WumV>HvoTb9y}jT>|8^! z9_3OjjeT9TGc?l<#FJcnor8DbHi)Is?IoAxRJl%rMgb;?q>-@Ht7|=Nm-i5%x(oz( zqrBax$I7RtF-5l+;52>6UeO$*G7k9f@G+VA;5v^9+M#(E+)7QaI`zb{AQg>zWd|qq z_tl3qv=y4EOO42Et*XsQGsFhHVG&c`o`t(B{hOXp%QiJu3|Mu_rlLo!sae%^Q*3k_ zOm6M9LaOQEG{?FZ({DA-fchG>zW>wz@$SW`1pWa}()|CyqyPH0v;x511Avd%HU243`=mdzSh9lp9i{TzhkpMpRbQ@_|t>j^z-4p z{C0$$g>&c}tk&$ozYYckPn8PwS-)o|)1ofy1P1vlS0A{pUr`W3M=%%W*Ps;LL*s+P zFxLDat)0?>l!|IYK~sd}r_a<=5U|cSvp8p&E8}=eUJ0sOHP7Qq$7o@iGu=ai_s#}c zdX}AXw4LLB*LT7V*NE;nx7icu!m4QsLn@~4SH67g&h8p?jMJAh*zM-UqhYRg$<~3o z#3)i*>f>~vyGmmwx&Y+OTmfE3ospmPx#1jp5Mme{36|@h#fHOs0Wm(9(>tETcU)!7 zObwEQnb+(Cg@YPbiNMV7;pQXQp=G+!5ho{O6I9C#CN5hJNzM)rQ(D2hN@|Z$0d9>j^9VuO`5!H6nNTAW zuxLpopoqg09i(#@Jlc#SkJJcb>BVvU8aRAW58oO`2vx#`kHdx0qJ%3E!p70g8lW8T zPQoAC)w9Q_hCPx=V{s9NS|}`}w&X^wIRlsk3Pm)|P$F5*vOzM+ADu}ivlS?nckL-F z{wf5jJJD4pNjobB>NDtdumhz?ji5$V-}=M zV--&qN6OzEZd6A3+&V0aIhFXAawoAaWqLOFd)Tw;C1l&CoQfQgkvcYC0q_!CoG2)g?th6P%RT5B!cKb zIcnyJ>5-nqW6XW!*KQzNCC*6mAUz^_D;KKgRodU)#0nn-PP@%C&lu}W4@BbB3v>?3 zq0aKi(A;gY>`XW*jV9BnNi@JDlPNB81 zWM@eqIw3=e@vG7T6N52zviWz9ym4$;aE*!;`_9C1GNF z84F(bzJxXK@>Aiv0bM4#zJOiPXnsB^O=0bahd5R&x2?p$_&E4}mU3MSkw;YN+Z%VF z#r@qQB|kezm_#Akvs`W~rbRV_P}u-$gTyLotxEdpYnHhF#x%p_I-;3i5KsCN9SN)Q~u9M?C?c1K|vUwiv`9`3W@ zG|@!fp5R!rjm6OfRgantug0JI!5X|1R6n=~c`jDl_K^8W;q!o1J$^aiPHH~VfqegSteqETFln^Up9jXQu z@M{WxK{mJuOF85&(v9hZZUDTtW>$UDxT+V3>M5fGs}Cp-mY92oYAy`oB2r8l!OGIP z+CV-nFrOFc{JTA>^G`J}pWj}P4`s9d@p71t%2^*Y*YhOqKoxkLKSQJz)4(bcqyxxX zPdIZbJ1NDX(n=ZNo{-9ww(AuJ8p^g60b}5J4`rJRj)Duwv*(jdcxG{5^l+|i>}kd- zNa88mmya2D%}1ng7=KI^du#aZnt!g<3VTr=+G@U=&P**OqhnHu8G)4;BP5YjCJhZ+ zP+~ZfZ|>8d02fzv>FMUe&Y;os3W^|m607Q9h&fpu>GT?+ya8K*pK)-!ui-sopf&#n zrtnO^Y$FgJRvACh{=ixC)D2}J(L)H%E+E&KC{NUgXoK+f;VU%v3Ld-E79~Q@tBMmW z^)di#q?kOkotWsJid4AhhQ>byZ+Rj5Q%U1DZ{FIRcQj2vfEU@g07iw@hq$a00+w$GZ5_x(UUa>)~8nm1m{x-RNHTI&O=HpiwO2q(_}3^`sPJ{W{04MXe*L;QLi#(Usyxl#8$H*KvVD z>!Ln7*3(~N7fR7e?3i#Y`yM4Yr1u1Pu1b<74eIe;hvs=hBpvi~Qca8SQ}M3JioQ-g*abS%+j!dtOIQnh@d zvj+stNTvVCVkUrC0nsvci|6pJ1gFs&9{<8#v4N0D__vCQ6{2+-kBu8#&Hng~hu%uX zzm5U&eJ&jlX%@3>OxeN_PM~xc&t=mHH^HT->^;z%>Tz>=zi)Z}e%`(+QobY7B4`s7 zB&^sgRj0QgOW&^*9rF{kd*}0Z0jymw^szIIRiyh@H$=?ipzURqRpQrrnRt4V5_%A7J{{8 zGCf(hhFXL|o)b#w6(0jh;I=zeZ}!k)d%!({)S4kOPlZHW#4mSs&T~9x-1i#FFo^VC z>IfJB^)@vgjgC)4hpHusm4qaZcV`C8(hN7AA&YXA`9%JXK z;|tj0{6v<45HYa=RB@PU7xW8T?{*4cIKwv{9Nw4J4dw~fSppLS=E>OrjK?_Z z=Ximxv3E1a(O!zw31T5((N5w_DxHUMXsBb`5N8j`A1X%C<7j$00BeV?wUlhNDEyh@ zZ{Zdnnx(I41I{@Kwv`Pof?l2eSs6eT!FLMHH^K^GVJ05`04YScX?gWE_d9onx@vAw zRrwWp9TIr{sCD53Tayn79r_6O-aUXMPgNJE)1|(#ro2CPLch#=IrjeVpC1mGfEyLpF}NgRzPBX zW{^e@pKHK{=S9G#>OvSoLd@6v*q0QAW_ev-u*=<>P}cIe@}dQso1Ray2XO3J3(l+V zHqcM{Aku8iwGL6JN$%#boHKludag!AWJ8n#N}LvI@3xJU`ZxJ)j8CYJqCKN8FIF}! zdjHgFh{#^U<*@7OF~S9Zg`6hG_0jFmr?no&{UVs|aN7D(#O#$?_O`^KE126`zc}9+Hp`z`dC1m?iYev|I zpJ^)ha5hyc(!iVDW(H$K8FE%J`Dz7pQN^ZU=H80V@aF3XDD1~n{<{K-;KCzJG>5iA zq^XN34Dc;;MVb>l$m6qQ!~oH~6X}vT#GlYn4vzOXc}2c6M=@Ft#Quki`$|81k2fzu zu~BlcB-1PA)S5L9`$Rvo#0NMVu3gPXVYB%M7Ti$&1#Jq<2cZ}PT^EP9u`=UZ-CZnu zhvzj5mdQ#;HY+Y{RIFOjyAKwQUk-Kewa5djCujXf!mCH0sB1!u;mz1pe*V=q(@ZU4 zYbgmBp)$7`FE+?U{Ys4eTrrusu^uea2Ym&j>_tVvxWAkn{2Z6~Iyg8#4)+y)DnSUr zrE5V{=&Kw?Hf)6sG!%;>Id?q|7*tEa7K&MyLu58t2>mrSeCFH3nHWF3##n?4mU}Ci z7hGXt*dg>t0Pl%A>cTDObt9WjR%|l4_!?7}1xZasKY3X48=~VeckYg>SkgvR0r+P$ z&1$SEGkg~6<>n@sR#C&A%UFA?nTIO+@%*-nFPb;1TIlB55pds|z5% zJ7zT}c@vQxwexwKWuSnqlUO$^y9JvQ8xQY4dqPBS;NA#5e!0z&id2I!uPJU zCN+d7hl3H|H)U7~WI*Xny65jkNUMepYKR!7#X|^x06@|?Okmjx zVokMe%>n!MTssI9J{l2*zj@tVyBkY&Kyi+%&y6u#gPsGPO^)r%u?4R#T(0;0_dG7L zS4TKqQCdGkio)Viz#XhrX+I;q62_h!c>?qmz<&RMsud_iNON}tu}Knp;umq)q;ks2>0z11iY+O3W+c}+&FL|(=mjG{uMQBc)g$ZsL5EdTJtXj^#U zs`O_-EIHe5+J5Cw&aD4ptbpze2*}ToHA0S_z5nsGcu~J<$Tw{BmQ^7xK2j)EOhjv_ zkJ=6q3q5M3`$eAyCPy>Jfk{CbFcKxZK#=eMa32hz6zMMr001H}005|e>buzfzsS!@ zwvAH}2a7zVo!?((arWKydIxt%BN}Q^^(&U9 zD1b8;XG-C^jcpdHxK`kfV%!{aYcJ%3R4_M2K1Ob1etQ^h$g+GrD~0bTEG{lS-k8!b z6YB`*Afzo~2mA(1$UYz!sdy;^6y2M76m@h3{2@`MaXg8qE%}WwRl}Bf6eiz?*H)V# ztic=!d|gU0Oo%OtoiGtMBKUz}6PZ9)uWP47|-X*G(teTzY3g0=uI8C2l!=b4VAB zImzLD{L}K+vDhkgXN%iIJITA*%~3OHdz1TJSoUvKPr@gp3sKznK$VM)HKmwe{)HuN z54)KeU-CQOSHB%|kaUrmRcV3lN>kS96La=1CnWhxhNYk4DC>h#OVm&f%CqRD6?m$#|Hj|DK0%7 z0NxmaWC?ut{-uP9^=IYn;u22w;8KPs3Yr`fWVqLm#T^hkra>0RL3eFz+Z zE7ESxD%3ATq4DjRD!{K1M0}IKOtyd0_f~z~rCH~OinFdQ+F?66fpdkze3%XX@WgIW`cnQ0M;Cm3?hBGVDu z_%)=F>BQKt?N+wx89M*0?X!(d9+dZ01V@(u5sv$Vcz5@;tuRbw@vV&pDz$PYEScI^hK6 zze#`Y(n8tZM*p7jLJ-j0aM%50!SCmiuzyLzQ)eI|@Hel6gXpV#!*Gc%DqO_KR&)YD z8|e}b)iM+;7Gg@SpM`Q|>PTfIk~lBYo-hX6i;?IoRi{KBr%$X2{2rJ6^y*one`Z(S zR&4gF@WMh!avbsRu#A0{yb%8Y1&~Gh@-pwJR=6VXo3ovX+{My4uW)et4YAAA3Dk-2 zLTJNy9JaHkzm_PuRX@=!cY^8}j#I+-`JaoKG_G7#iiW8LZX~c4N_^Gfcil_CeU;lFryHz1#I-g zug@saNPCFdYT!-z4y~`-9;*xWeFd6lzBOnI)-xkzd84}(LtR+djldM8jGp9Ajp8E) z5@w&SQJcCJ1SQf`a*Ze&5XpDVKBw#r*wRWzNPBc3$>&v=9@)IVk=3h22SuZ`(uAGN zmMsq}!9-}_;)*UYl%)531ZEuv(R9v0D9~P}Oyw|N2g3n5&b<^&Sutm$^^8Z!Y0@&J zz5td>=n5}c7JVr}5BSuq3Ad9(Bg;@0tyAF`qaz)!3XL|teD>Y5s8e|vz4ABr9@t0+klH40#$guFiu-lxkf zY_ZSY{1+&oL8ZQEvo>}FJe(c`V3n1d(F2ri(%%ixXhjXJx4&mmy? z7y$b4{OMu##d-bl2Law@^3BPB0JvzcsM-lrWkvmIh=hEDwAoOh2Ki~HN{Iy4^QHkm z7HCKn(d6uzHZU&jj5W8SD7p*#l9Pcf2Y9c9L9j#uZ(*Tve-IOrpQm773c(B1ox*IV zkMG0`YeJ3`=DMsxhdmJ@QI|Kzcx-e5zBd^0qN0BCgm^r$^TUTD@Jpt;my~R%F)5ZS zvRJpDhyHTXz-P@SJkJ=8M6P3_7Lbbi3HtqhZPoQfAj}@W{fTFs{`FBz)s;xnWZ=yE z>x{QO0=51;<8}hsB`po8O42C%h3L7v4x?N{*5_VJ{~lmjG& z?Zd}u@MwPqf_aMVOd58Agk65J;;4(|k}F-@_#|jqBr52yO(Lqd4SP${rzoW4@a7#$ z&8feYxu8~eJn2<)b$Ks*QhEGEjireXr*+PMZfr0+rQxoHteeoJDxAWuYXlO8UwN0M z9vzSqoZ#&GI)!sX5}#(NM+~5>W9~V1)J#P_C$=<(kbS?x6}I3j3G|)UlRly2n4Xm8 zNDm)=1-7Q&t9slY^w7HdbCcI21Q!x=chke5MYE?aL3bwG8zjp5al&5DBVXjl6KE0w zX@K3ZO%}`7>-P%&pRRQbAPRu|pKnqi{@-~Sdq)#j3lq2h_GDJ0X=S(7j`VHY{~Lgi zxe28-<+{0J6Ro|?wum_BKD2O53&86=N#K6DDja z;UGa97(Z$&GVv;Z$Jf(`2`7nR&v@b5iR+kZ94OPbv)4_S)aWVNTlPemKNn0JuCDZV z;pE9H-664kx9C%VejHiWqu-DT4+eY)djH9Mn)2P#OV5alpP$@}N7}se((1{FK*;ha z2eQKRfjh?H66#Vf;lcjvW#)d3{b=g*;rw#v{PJ(3?uRg0D$R}4XQggXr_maq-VOoU zecUYws#}|XQe~t~XV>rjT8}lb>xqU0DCE102;{&XYrNeXQB=3` zRx%C%X_o*avhtB@;PE$3nP9d_g*d4txx@~8xvh8xCkynX-}gOxdu2%a1k`>dLsFub z;B`obUU1gMPB_$>TL||)U0Xzw(b)Rh4%{wL69@E=#=>SRzdIL+Is)Ay!NsF2h|Q&z zG!~iP{0y_S&s6Jx6ZB7zeyrOdzo@!IzmHqo(Ti*}H z^j`@uY*ay!&lgaQ#pm<1fSqOXomgM>+^ml;+J_+s;NgZ%&k&IH*I(WiOo4g=VbnMp z?F10w6>e9c%|%HDv(u=D>?umeiKPdUuWcec+(|J=WmH;k&TqA zo+FP$Wbcj~-`hFcGCkYh?hKt|O1f}Vh$%9f8bo1g6(59gK5ky5X91;xdA<7iGRoyp zzY($mkx-1EgL^h4whO%hWURiR{%mCkIVk_Y{bPq}$YlbKjKVEUIKLdx+B7C`5^>2# z5=f*-GZPMe7(KOvD<G^i>mnrcmu zp~~&gs=`mTun)gyprfk^Sac{0mSC(7#H`MCXQPa~U>V;2NKg(cPiA=8a_V7CCk)sJ zG23CsbBqHg2y{01jMs8c{V6DItyZ?|h^$CjDT`_*sXxpIWPdH*5E?tMsTvajBcv>e zCDDd}9sbx+VmiX^cXZ=pgFP&+dVFqK z4=j$O`v1->9A-1FY*BFZs44AfeUQ@s6i)TA0P|o`c%tODFJnv73ymtV_7#Ghq?8~6 zD4Lv#P()|aeE6D{8o`z9afh6iQcgcllG1YX(w^&bLA*?w(}#K4+$;8bYycKXqZQ!@ zAFpI|L#bGmfk0mfB~K)in*F(SaNcFhQzPaX9AI%*U*$r$%uQM8q$?*KW|IKuy*YsP?Q@$k8QiGmEIAaflFYGiO;&!my7HjZHY4 zAU4h6>U4rFTl<>TbqCb}YU{t8uMEa9jPZeIv(stW@u$0$cr#Bemg)DhVsT7vK8)`e zXf*2u+(}|v{3lBn6F@R7yFn=&1L%SvF!7 zi#BufPuM$kz9m&c=m@pGv&E`(k#rJ#rx58Jh5iqCT2F|>88vu*p`fLBHRO2iQG5qg z&2oZH6QS(N;<(rvWO2Et9QEIR8)kc3Y;22$&0*Bb32abi4cc2kA=ocY1Zj!P+$X~x z+hh@yKgZ)0}7wJ#Yv+<2f)yQl;ckcXB<-I{1mtBw_kq}7<<`hIzc)z13% zrCGfh$JN{BxJ`Kcji)4z;Bvx^|8y3fZGO?o$<6rFT!Fn1J9p6Q7R!+2#jw9rVt zRo(LuU>NuH7{`aQ5YxD@Sd~lj;_9HGF3pJ%3mcMyr+K*>VU`ZAF3+>MJ@vs%PAXe{ zUS@Le8{3JeB8+@xL0(s9gWoV8H5m zWmv#R=bmd}^Xdy3JU)sZ9qiI7;CCyHswIxgwlwcio-6y&TP*Z75y$XMuI-WjKRw3B zK7k<#8~^~K!vD_Xn44JJ|2Kotqy4`#Ik%X<;L)WKBymQ(UsBgu+zv)%&nzlTEqB|# ze=Lw9GZaW?MHs zXJ*~pT;0Z_+!GQe%C@T1j=QsYiTjoa$eJh!8;*RPdKLawB`wYk5bcofStNcaN{oUJ z1s(9!cd*D%zCV7b9<6U}5z{Y<$|Qy5=65_d`M*3&aw=Z^#)PssFkR;Sa~R%FmhK;x z-tOFZIk<7NaPTe{QKGK+q&>}krEC3lPcHp=vG}IZ6&v}vZDkT*`z$FK4 z;*oJvW5h0dyVtjTSr6bc4h6GfCl8m$pSr8LwzWL6V@pSmRX_;rPL2TXP_p^u1CI=u zR42lA8!mqRW>Tvp)w%^HSK(Zjr_>nZDSa7sT>1?rtbV1mL7ygA(EYdUM@6FJCUx_j za9UByC&aBdwLRRV+4Fqi-I&l~X18q;p#H9haOc~@^*Bliv_PYxeDNO9Xz0Ew2>e>K zSk!}}mB9)k?{3XENkl$I=ugSZU_48m6F%0+qs-7(M4w8Q(-uU4sv$RWMbbSCQUkG) zbxToa7M4jcU93t+)0Kj4ZB&*jI)AatMAIIJiT;j1Av2y{_2-7htJ^^q&0?k_ygWn2 zU$-F4D(ls)!vkkx&G&}{i(vmgf=8Dp8p&nXt2*9D7&@VeUb8lT8Z<&k6|PA( zwXw2RAmy>+!1MyoXCak6npDvVVG@(tUn}c18e}-`?~uqfD*u}9U{%a`vQ}DJuU6F{ zb{HBAakw>lJ46!MQ0Q)f=BZ4un@XmAP@Npi({Ml&t#?x;5;u{UYots)lcFapM{-F5 zMJ25I4{TFZo(9+Ja^)yyy@MxbndcHj{0##_GpT5D69v-CX*q zzuoT#nc@#@z&23L^FcfA_as%qCmDT;CRi8W6WS-utqaVBl`aA`ICAd81Xt>R0Zayw=OznAuVXe8{o4E`I&RsqI zGqs9Yxu)f5xxw@4mLkZ}m)P0W3S@kqTI0X4^4o)dv7X?hZ zSzCEa4lgI!UBRTe81DfMl5SrDPG=^YU?1d7rodv8|GW}7n5+tLbn+G@MXXENCyA_Dq+z0yw+tg)aeV4*I zI?`s++S0gnG;Zy#j*MN6H0o&7RWyrMQT@=ybvWiGEK#4fNmsBwfYsIrdVAD~GEd<5 z`)Lgyd}%wCt_`E-hp(edz9=cE*GApdE%;EI{9%#!5Y#D~B1rDhz?h2UZWUiFym+Sg=-xg=}VKJDzFFvX0R7ZlM_Aiv6S=|EyKtP&^1LkfgGy~Yu1j@~@H_4=| zN7rJQeJ-+hd#?6N=~@!}8h%~rr%9yG`kZkNU%*(56im zduZyQ4I%0{?=yhh;#cAOir(BtL9OZl#L%q-gd?>(OY8%jEqsbVzocqCqSDVnRno6QX*D>(1Ia~7t&FLWkW+tb zx^G+pL_%d!L(*{p zSGLUq@wNt>AOa5RmnmR4{~dCoCdGetI4AV80VhxgmNW(u-qfv<*}?Yq5lI<;Myd)h zP1Qjb$Z(o|o@HSh2z~j5uJ8y&9fCdTl2RA%ODDjDKBDjJW?u}W-oDpRiTs1%!kKd3MDROYH&xe}u( z1%rubC z=}aoV1-t>1&%$+xbZ|8)#dn4cHslyJDUKQ;Eymzc{G2!J zU^>H!#8xSMuX&Jca?}l0Ro4<29vlvppbr*Uh|Ewba#-c@I zEroj!^V3u&f{hUCJCnaj6%BphJ~RHji-P3->0gyJX!1G+n1VoP4O{oCD2+Z`W-3yU zs=wSY(nr)JQMA zqPW34qR0_Nk<(CEkQmcv0_I3>0(Oce3_Z~RImM*bZbLY(SCux7Zzy>9r?{0!eJggN zc(jlv=_Pg%c<)G31PZ69syuv30hjmtD8ZH{sz~c^YzZNBkQ};Ib|{qGVgF+(MgS zY~~lpL+I)!GoJ&mFGEqk^;uBd4nSlxWS~RWk6|GTxxDrP#f+%^Uk0?8O53X6Gd~4I z2k$@FZkJugC3lcGNQ=5>ni^-bf&XO#iw`(iQ3Fq2I0|G3@hZ3hzIvRVZlPy?|81_R zx%qdMfX^2+D+$c?TW72DC{FL!|S>1L#kfZoFS6iB{`DMwcXmj)Fucv4SuowB2 zqoW9~Z`TK|9yGS|ZIY7TUF2V75Um1P=-!$tYI__Ev}n)M3{9@VBi8QR-| zR`cDWsCu`S*N0B`u=2u6d6V6ikT5kGcL$@xroG#5l z;A!lH*<*Zo1Tt5f!O#D(%Xr);@fBFj+c;`gZU;Z*VnI|P$jp__WXtW|i)I+)vyTFg zrR}I*k6ucv71%~{oYA;&OuNm5j?K`Lcn*Q|a944l1>8=p=_m`OgZ{$so|l>p%aPW4 zPKn;ouEw z30Vk4LU#uz?)-=kpKpcFJp8f#dI1*Xs(g?paCv_POp_!1(VwSZ^^E@+M5 z&Y+MZ6t)nH4aQ)NL)V~sEvUHwQF8>p3FePEro|jnm;Q8G0Baz`N)(nkF4-ItL!Jo@ zzt!u{2;5KgpO@B?p52H{AL7tY)va6XKO5NY%UW*>t1mfrXB2k(2)litx|dfwW24&x z>DzPO+hZo%YjWFbtlIMmf^d`T|}KTunM zKg~_4^<&*rz74Po!}RsIcY1uA19mqSd~$BA?Nh#4wsoUj&1=9X5S!RnH=qA2cadQa zn0NBK)Kvim0D$`Y=U9JN%yHaOc~45&4VIM7lT&z zAw|eb$(PG0LQ_qV4tr`#%vyZV057$3D^da260!zy=1vnH0cF4EF$za7h=E^7`vKs$ z#d7*J{&jTYx!!fveLU~2s(zia$CoCf^#rkXgcc$V(sXFIK8by-IsMB6#ld93PdY5bo(OhOY2$!!3$7-_OeHa$A=$?!yd_NidOkML1GfT2Q6ekE zGEa6J*A*lURb#j3lU4=IN+pr3tan*FgM;VUv{;b;GPP3hJqb3_fr(hglv=bCc>wdO zUL2{zf$Xa-Iqf93u(Q{e7xwiwvh<%-@^A`Zxud@Ll!kN>(y)y;g?>uEbcx^;8&Mug zJ3=3GcxBObp=TOuX-lXx)&3~J2T;0?#r!=Rf^LtJ2xgmgKEoR~s!Hkkhv}aSFHW*r zVv{Q1m!1G>v{cPeeAJNJ96-d^09Ha-=!7=Ce`a4-5TdPLmG{TyK;8wbr{m^xxlv?4 zwQZ4t8o&c~c<0?mBW$_OrDXBiniYtvxgmR&_5l7T@NbD9-j5T|*$4G>5eDEfgnJ&| z)i8g2)pY3}*=vcaxWwdq&d<0N8E3K)&$Nmg2Ro@?nuy3~yzKDD2K87767ceVPW7+B za13qoz^KMq^hD8S(px4zfqmpl^MAs^*u>by-rB;++33H`rl!?)?KasEeAxGX_E-30NXHxxZ9T=UjchIR zFb`VFnDe|PDI!|J#fyX#6}m&euDKKwe2rsLZSdGYLnt2Jwzu6z4~y5&zyttpM^|(8 zJ(xedfZx`y!KT4ju*u08aNzc5q|_7WYunjUZGPaG1e3W#eR|=&fdY)J?*YBsIwN@I8BmG zVuc-$N@*J4yiCc|3fSP;4poUKcsZxYP%k_6L zrfJbBd(F(JnbewTmC1^6$H=97ecCX+IelYpdmom-hJ~G=JV;^QO|zLf*b^=aZgZZXhtyp8K zG~NWAY^fDYCuaRiqb);yIH%3_&T*Q#o1P`e^B&i3ESD1%Ai5E_Lxh_YG^eHwt>$l^ynNB8IS=AgJyM`IN|?|~)M$qV?b zX>muUm-{V

n3PyUjdX$rs|;{qQ=d6o9J3Rwh}$Gd2dPG$EShq$FHAPds2x$9DGJ ziD`@0Tm2(l#w2UMc>cK=HD5}~s8r&JBsW(#$DECe#)caYuAUTP)x4JhdS|Y+wIr{i zvu(ofz>_n4Gi7*n;K>;Tksqa=zd5qt%KhjPQpq`hLYN_5cwa`y*Jy+yP4h#U#+JAo zW_Ob0bP|Vg9n^61DlzGPwn+vz(K-S5yABf>;3)ok1QuIjX5zoT^^4+a#;)T_eiC|( zsbqg%W&2c8a|51h1av=Ved!H{qJktG=|%8M8AJeo`-Dd6u1Aq^)dVIGhj~F-)_KZB zG>Q!AJOR7&hTsdjE2J(~-`ur^ttgKC(r(F85j(72Jjdx!b$Efejs(60vyUnb=}4MP zK6ni7_b7^5>K&NHu%vwAfwu`1$Mh-^9a$59(S6kw1J8@GR5|FF!O4U<{-_^ch8@Xb z%CDE!oz^FHq6lMHdtA%E_NY$+VxLDYYsL6$Tlf1W5kuRe@f*@AU2!iaUnf9cg&~@O z4hLY+t`jTCWmn}>H7BXd2v-phVx}9NtL7o@&{zYWtJ{FeDQyN9wgG8Cq{VYLmn_Tc znfQE!MN=3JX!=#ZxVg?OXK%e6qlrYo`W<}yu5T`TYN!|9;|DBs1u4W_8Jx-^0fnQK zg8kEC9d!y^e7Q1wg&<*vKF`u|dS(I5>n3s_9F}{8xiktQ`Jj*5n@`v`2S0WDpJ3Ao z>pMyK1smA^57_?e(0y7>;r|7jy%oVIl6AX7D-THvV=L<%j0E};<{a-ZipZw0u_9r4 z8(q-X3ohk&4D;qB8+;~^28zq)%}wXwy<)9P0D&KTVI?-kE*#%BP><^$fo`zpjd4gA zFyJ(I#>mE}2rH+>C-OQ1<#DH9jWkD0Fc$Ev#~BVny3q3P({k=I4lwJg=c3u;+I7a2 zSZE5#Gz~0NJluehJAq^{y*vT>KVWnE%WNt85Wc%YLplKks{b6Am9jvnzJ+ElkVtc4 z2v%IC+@VsdKty0jKtiH8l?KE-im6BgCYf|l#-X{NG%^fHUF}H{kw{^X?{a|5oQ{<2 z-^U7)?mkw;3jWM|@PvdIs1QUx6P6_J987_d3t6s?gI5yhZNk#%Me>=G&uURZrBxOM z%@wDF;rs5+_370U``GKK0w(hRu+8#6Y)h6PNxkh=RQ zsJwM+zgqq+2(Mbn>5LRL5>6en$o-voa4~-*DtON5MW4#R0TE)IM3csl#w#g5n8_mG zXw{n)OjCb@Y%*w@N$#`s$PiX};OLt%b&KNdaq}FU@l+|WEm#)t6G@UOt=khUnL19# zHDY@N6(jp7eLn~7fY2qPRCI1Fa`rHkMzu zO?{4w^=?0Z*|40332B~NkeMe=NT(g684hwHej8ZqGtkks${;J)o7qV^Hdf1%Xc=RD6>=7tlGz1(Z;YZ2xjO&x2cC#-EHjF`*5jl)+j5p zMkuIjZmM5Gq$O2FMx+iK516Xc zrJjSZJ87|Os%{~bL)vuzWm`K61F43gOl4lr*wquFr`$+TGeGC%?Nt^vTe{6KZ3GH7 z!0@wo+hPU0qeb+{4nY#Y(`#KC%FUSDLQYz=QeQ`B$=Ciu^~iiHR{_Meosxi)7T&6}v3Dx`RuNMDqss z>jMCTMbHl4MVF4n4Y+>YXU^x1irP2*Sg>V8X9lmu!jz8%A)|29A6Nw7Ri2g1RqrHai*t@d-@Bi zwwH_8XQ$kqk)`>(yEA`#eI#K2j4M$mF;H`^H9KBWpI_PAl{8ADo12gN?!X>!;N{l@ zP(phg7pc+!KkOm_8(mp6-j9BdGHqIOvtmA$#YE{a(zOs)5-nQ?(HF$eD6p_SdQm0~ z1|g(ipFf8eDE;9H-;cSw&4WISE;>suGfzatt8bNgA0K_?-M8Q?YqZ0z#RH;A^kNGv zR`wwE0-DECQl=yQFm#6*H8UpxNk2I&+6>qoxCZS>8!BS05vTnWar15JE0P+{@8~Q0G>%cv|Pb{2=~N= z0O2f*UB0|Un}ZXw?SpYs@K=a?VPnQ|cvJgy0+lO_)=u~nePuy^HY&Mg(6QlogQ<9< z(;C8?MV=UNB8GjG^3NsG*`>Ac$*ijoNb?y7UuQtcEn`W zZ-chl5mjxXg^lUJEXrU0d_`(A))G_sx} zczaOKI$e-Zcgr%TZcS`XJ&r2o!=^7>pZ+&XlUtKeQ*^pLwHxOEX4xN`ADd68C4pwi zFaD%M5sOc02N#Dx{}VwCnx9C_Di=6VCAeD~%?17tTA-rHT!HSvF{x0ad8EaC$~&%&!2l$4@O^>^RV@JGYws?#O85?fVh2^) zWhv0qGoCJRsZjok<@!O)>8W~k`%EY_asvH!Epxl85w%$*fDNk@6wNPgJ*M>Gv!Od| zV)r^@4)y&{$p0h09DW;^%~V=t9zX#Aijn?1pWOc&pQhDp{v*D=eyElB zK4FRaw%B>N8#U%keP2oPOg2{W5^6;U?hr4VuQ;Udqz+N8taXrag>j>&H#uB*f0rdU zU%fp%@4u0CbY1xL5Wj6&zbu0*lDBn!laZyF9(pg0%$bi1xrgyovFmb z>$x`_kRVBJv}`?2KbvT0EZn}7s+FnLh}-efKbYcGu^hwV>l)vIk|IS2N=PadEX$Y7`6I?tmxvcxz!(i;hCtD_i@6a+i=>VD;l6&Y5;fMV z0*0BPJuKJdRzHgk#4XDo4#EfrZet9U*T=z`tw26taBT~xrR4H4BM^eEXn>7}D_;pi zh}n_;Lml(8#p))2=)yLeGP7t@PKHsk9-CcSm1eHh7lIlMkoRsV4?`9k7Zwf+1{l7V zKUaPUoWB3l6d5ivyi8d#)(g-q`q0_ z6f2QM;t3|7<`$9dAK|o47Q~bviARKVSQ`}|T*^|W_O11eVpyJNm|T{O9b8xp-0`-{ z$?N8(uSC7oDB`B?IA_4_6uy>1F0OAJewA~7LGU-a!nRa!%ek-oN3e<_A)%m zZmad^-o0fM$>H&QP+)8=(*XFcSO6ByX&y>V+_vy6=EpLJ>BEVFuhXIR-V z{AQSV2Y#Y`T5#`oK?c0F8j_w4Nqr|S0khGhV7J5*dja7$;ncRXn$47Xx%R`kfVte8 zL34!aNh&^9R7i&FQF(Ao!_#=wCgB1ZfEA}I#HE?>q&d1n%yOD1l#wn_QXpEyY*I=c zR_rt*e+wx%1I`ffwFH21F$y)bubG5Ydc8`XPU<^5{r(t?;rI8=h3YeAH{{F$Iy{@G z#(+)O_OzewN+UwJCWKe_$RLjhtcijIA_)2#6W2gCQ3=gCg<9rjkNYXpdkc6CtU(o* zmT|qDl{Xn$HOgUU8V1~LF71*sUVEb2ctfyq^9P&{Kd$aZsbDH!oFjXK4aiR6TOpP> z9+Pgkf^Rr|z+|xwgK>GX%{p$t-N;~Bk*NI{npp>;`$VZRGZr&2dqyZuVtUbD z<&f$_=~?dXg22qe{&=@TI_k3@#)Hn`;Rs$8)-a-%d`U!ng|;8_Us%R~C`AI_^9q z7h-QttCBd=_gDHq@@eJM(Q$3qd&JN;E&9Np+%};};9!9;y`U9u-aX*ikTDQ-R04Rx zPr)^BFsaIx$tyZjj-h)pEc!7 zEx2(sPWMO}3#C?)g{Voj z+}gQpEKWzQrbPYc^in7tUr&5 zPTgC55BHLn2`RegE1GQdp|~|m;sU!IfOO@ z*gTM&C`2%)1IFJqjF|oq=v!=PeT-lO?w}?&Taz$U^%KcHB~LhFupb$Y0Px*GJ_u2w zazRAaK5XK;GFSGO$0ebvmn&-3)c!5N0$DM)Yj}yr+zr zP*3wqCALAKi;feP9{4X=FPU_i^?fD+G-X6&oQ~{xjbR%^BglLwevNzC=p?I>{7+xw z(Ap^F?ZN;txN!hLToD7*)0^vyZCQp85#;(1 z=0jDP3Nvw*B)Uxl$)`*KH=z`S?cwMO>>d8z%xbfoQ*X^_CaH6hx6?}JjPU$TZ; z3!hm*Mu1`xY$5osHgaaXTA+onb~|G_w@zk7YjEN1_DjQDEcHB zvyz0&1(<;Ig*a})JX}bT!akykhwMROO$pBmB_wZYENWx-s@%4?F0;EXp50P4c64%* zWGv##e2FuOwaOyx5-CDb5i=dpY#bOaPFs8>w(_ESgCsy|h45Bk5e}X)9kb|}=*~)G zzj&=%TU+}ff%7|LYe>#U@ zEL`BfWa7scozN?!O}Rg2vqxN+?+|%S!zTb4NXv-WF~emF+a;da47)n5cznOTA7%ko1b>?T|j0M|@ zNeF0+3Sp57CXTtuP*F&rlkrpl5s_qwbC1C-M>Z%lmn*yfL0C`Z)t$Ag*C zl<$d8TN0iu&>#VG3StN;A8ilALzZ551hOlooL%DhW3X}*#f>I{Nd(vs*8@e9ekp$; zN?9^dRJC~u8N*E9WX_$8^V82zfVSR^n+!?vx>VzRuj^09$u0d@g)aXo&{xy0rkaMruB z#FTk=0%B=%mPYn#=Ezug><4+uXRt|Bveq_(AGr-wSbQ3Z<&52^97?Xd&^MC4-Kv=U zN&xPrUyxJUMN#KB*7fnRnLtsZvDIm>RpxRlws0}UOShT9vw^_dIkzSP)E|2L0&A#t zV@Cr$(`Z=@N#%mHtS$3>xxZAHWk66X69mXdjrKM;$%%ka4R)DBm1`AH z5%wu_4s`fy$KJ`OQsjdui9LNU*%fh;nxuzdkU1_2#JzpyJ^!|2QMcR-z*LD+5%9DGn{m3YId@u!Dz32_VwN zQX&Argra~{ltqk!LEK+Vi(k)0&~0#XYJd~0v{vM9KED!mNKR)$3#8GXp3%<2hS&+} zd2~3ulTd*r9#a5QC~gRm6@oxjS(zRU+391N9)fcwx-T7*BIx`_M^nYJEc^t_(!@(= z)6#}jTpO0qe}scUsh(?72VKaMAhc37K^R@6N8+nNB85GU6B7qzKsSR2s%{%bC4>~8 z5w4@D=mJ|uzT=7+e-V{34JPsfY2hZ~=Vx028?ibx9Nn@hvZo*f#8e$26q|9gcqAm1 zwUS24>o_cXRA=>GXa)shPSu~>_ojdy)Y(&sEm_`eMmvGvR6TO9CCL##du(DtSP6%O!78+PmvA7~H zI4H!u7c8H2M_|B`!h##pxHQsa3fOkCF>-GE-k{lt|1ub2o@Z<7TjfIv;RQM$y~-$$ z0(Z{q+x>uqZBy=DaPF;>KDBYw1w^Rw50-Wn<|a|t(B~t~^jV@! z2++tRo;7w9=jbVOX>7gOizTCRn5|)yqD@N;)I%td+=gd~g3m)|*B#f?ntFRtJ}q~O zNf3|ZbB2sh8UC8)Rai|YMsP5n!cYe|*f7gT(Q^2;REXN5L`jRiD8M(AcQjZPj0tW| zLn~h&m?@kQpkw%_-BE61XBFSnKotn|k9Ch>JbF&)i9Ifaggp6vE@b8l36F-1a7`XA zi->2At^Ez~_P(N8VS>=Xi3pQ8U`gbJy!L@9!^1|f1ZFfHgNa7^!;-&UZ!OChUGtC) z+Aa57MoU4oo1?0YMn;9LIZ^bVV*1&UH^O`>%*GF`4aG$K)H70cP4j(4Zs!q^sp$8p4B2x(g$wmC^Q-9wL?^X*#Z z=QamTiaWK2;;`Q)!n+u7Pi4nD$pn5Yx83qfPuE`z=9eSd;{#)AXkSi7uCONOn~>CD z_DR#unP0YUIBE&8MlyR0RAHqPIcIsq{(VFKxxUUO1(-cQ@|-FCEKo&F4JLP}6qi0% zW(8V6RZ90Oq?TAXFK9+?SNT}T4T{fm`qyqQ)GceZWsRdmYMrxnxXSCwhQ zS~Lx7q|XvnIM}*OG|f+7Q^xaFfKYKhNq(-P@IGEqr07JLb|NQYNsb@yHo2_JM3k6X zwd{FjMs(QHuc$n7e_dFtY)iC<#z>>&ropLdxg2nZcGba9%8*3@!@gE`)7zU!N`C|P zTjWfC=&Z&#BQ3P$+gGslV-`8_T6SZsD)y75(O#LE{GpA-1x?7bOJ>E^T@jVGFggau zVFJ>XMw6F=mCKzMbclafz`Mar=exy=x<8N^SL4;rE2Ivg8dNh_J;l2T2@SAv)!ebqH* z)PI7=;uXQ^Z%oFNB-&|vai8u*veu*qlKk11sh9>>+^LmfV32&n5jU;)LSwAVHBInE zQ8cARjgNE11^QPT2&sQWYbyKrW8&2l36GMVPvi^Y6EA+x&mEi@ZVpcWsL$=P!B4I3 zT;ggP3jdjU*bDlfLd~|Cir~^?_SWwmC5PL~noq3!0|%|D){S%OL&s_(f8}vmbT2Uk0tVrrO?z%S%I44O)9=H zXSXIUCO6buCGVTT$ydnnSB_rQKnK&XE%?XkLhz*f-0BAB9Fx`nd-q^tbTjT%Gwv?# z+yw63g`Gqaavs8ETduD{pf67Ja3875{-Z~l=F_WI5a`r~7GH$Q8}pMiJU6-m+T7xUhbZM}(*zc!~yVyV#k3B7lMm%+sLvE_gd1K4j_HVcj;; zE9Q+{llQ&=kj(*gxg5wa#n25Nc~K_sF3TT0pGXBYbd1}hi2)v{GbizGjN$vmxWj}$ zz~6yreyjtGgMb5*J{7=jlokr9y)FPF zb1#{Cj6@UMy+-Bl5iYPAS&k!3FT75S_aQOGunQ>&f@DC5JG*abXp|kQqNi-i23kD# zhs~e?SUUBp+?&wnY#7mtn=sHEspW}oC(B1fxD>|-yLoOxz#B5L+72dEzc>;FWa@Zc8ROM_S%-n%8bId7SsFycVh!nwoP@lR)-k#77Y{5?K%xg;4 zuu6+oN7V$?Z(|EjC%8W{k`fF4i+^0(0rXY|^Jd!q`+vDzwY^l}rr)$4(QjH0_kX%w zQx{vK{~WC|asLhB{8zu*t@?jLI4K0>Bx}mpSK|&*oayz(;@JfcerUr0iwo;SM2T1u z8qatyt+(QnJBDjItyqVN-rPQ~_lIBdI3kE!v3R=zOqe~n0AJCEW!nL+m!CLbfq>HV zC&|*)@{Ug$7*+xHP*ORT%Ypxi;J_u&-=A1t2Jci}>db(BrNQrg-T^@^*vdEteL-Xb za51ZsICYYq)FDtO`3$bJ*Yn4L=aUSAz+ee+SqE~lZXKy7Ss%+v8<5t48RRjgF`{z| zkRbHXK(jCm3NACKZ4{cAw^P7uI&xP41L|ucickzO1BEs$tXUUR3AOl2jrs+ODxsn+ zWo0RcXZ)+yT*KjojSP@#Q(^taI$B97K_7L|X%rkYn+h^6*BlWX*?ONIqlME!D7AQS z;KuYh!(IH`t)jifWG4b`OiA%|-OB#sq!OntNcZRawrLgvJC0zi7*M67^A1R|hLWAe za?z^wo1^P2e52aih7z#zS-R4}c4n86`Zho)@ z?<5X=yw~0M`r(V_KnT`$FwE^Pb433|tA6$*ntna*-Tk+KzG>JA!yBW=`;|jdUwrmM zim3yetnjFJd5bI%o8Ntq;wH!uqHOgV$sv(+RO+lUwU*T{vZ0|)&+&Ee=-c2^>Fm~b z==6q?QIMDSZ>=5a;em7KHocmpa{%v2f7zLAeT%$Xg|=1w810s$P4YXg&q<@8#3Rig zek=vMHVC@bN*$FBkzFp&xOv;xR13@E75sSF~!L8Tw3@Is|xi4vpsW}D^gLS+m zTAtoImdq5EwNK>(=0d0pr(vw3-{d8vnao$LR-t{c$4`S+8JYEj4hh|A+&!tD{Ns{7 z#LmeQLpZ!hrHH~DhU*QMvP@vkVwAD3fVc8;C8`WbQ7nKV0pq`!b+60ns6j%MiZon5 zw3BpPV;4E2L~%FmVondtl7OYg3PcblQaz1V&bmBNQB!sUZPtg0lLlN z9t2C&&aSaFl3?EE(eqtgWG*yl)U6$Ce7Tq6;Ihlk0p78-T~SlhcQNtCg@c33)4F-Q zgMAFlm=8v5^s+;Ld3n)~^`8{=>J6%`y?+jISNpTJX$)Sc>jfC0qr-`BA7%pNWaG}- zjjFiE&%w8-#baIcKH{Q8s1JO$Z$=6O zVmRkk(++Kf7P95m?=U==j~ryWgO(c_e+!1to=Zf3#CCxtio^RvCa*ecIU=T{>X}@d zT8k=dbmNjpH_A2V2Pm#Pbk^=cPz^Q0XsPq*UFI^s{UlI{a`K3;mGNE z;=!7(0%^?bmg}_It+O%9K37U>(a7IOfWbk?675{3Z^mbn4p4g?cN` zC$=i(wsHL1KWXntXZAF7ED2y2n^~qHWc8A^7eBfU8|*Bn?*Vtd%)>i%$2N1WInZ`v z0=6voK`#E#sgurtFebo_(wl}7Dz%3lXnv~T(sWNf5M&b515;vi@TY4pJ97*L+lw%%j$n7BZnzHuY``Y~_wmUv^a3{BbD95LIZ>f~T@)ly zVHTT8Rv0j2(2L$tWebu;faS6CwV^+&+;!8h6&R-2g&hm-k|N5Sa8NE5e(jlsq1fo{ zDg+_Vyd@?_S{^8_45iC1i(wsFc_@d_l)PmcT40mB%CT!~^-FFenASw72%*(%a`192 zm|!4=qOEvy2tok~{f@BJxJnI;4Tbe&9K~iK=A7yXv)SwFQR=isV5B^UZMAKe7$5s6 zmLX-hMdF!)wi3YPrG4@%SkVeFMvhTl5X_bRGUEBKYZlW96jF~k0s|fh$lF+iRe5Qp zVGrK^$#_$m)Qrf4)|ym(F-QqmIF@`UqONwIC5t|{GYxqVR2I{wK<0juo}pbZda6BEyS$Ma%tmP` zy)5ju5prPSMKiPqO^krk6^Ek)Jt+(vV#@p2iT<95kXAuh3x{pr_OGQCCuVqGgf!@U z%oGPd|Euvq&MAB!_R?CYb=#>OEeXe) zfVj+kjNvkUpPaZ`fgwR$XWd`8)%8SvPX2fSs_ER)OWgmJD&`X!$V*7{f`&=4;ow@? zb$~Y9meyp{K%j)AU6djnQnz5shVaqn2q}PJbE7FZjOsY)_z5SE+Y<@E5Do!F4k&1T zz-ySJv7=)_SmpU)uFw{pO@edV@B$U;LIx;72Ra+^{h=_1qg1faKXAwXKYTGSKB$sD8 zJmSsoH9K2WbQ=klEo`S&)q3DY*I~xu8gtjov{>AHl_PyBWV0%wBT$7{pHqkel`XW2 zF%2#`k;^v@`mDWrTx2+XDMDfcicMW+IA3?*7=1HL3#3eco?UV-TgD={ohI4YBujFX zA@Ex)@Zu&_&dQ{YWb0#_{s3X@dN@?o1L_z`oQ$&2lu{_MLab(xNh%93XoO4x|j1 zG#NrcTX8BfJ!2RNmv|jM<<{Hy|i1KQw z6cU@7+J2;;G*K9tZYbiRj5SXQ*wQ zi^xSNCY>gV1|+7G(^)51O{5yg6OCpRqCNouP6)OiZ+!4SdI*ASmy4@oIK0`lZsY0RVAE?W!&``5JI0^So|(&g8hM}L|ctma(u zO-zN3?rZ6F4_Qcid{f$QNutMB1SimYd`k32z4ObI#Rk;1Ct4GD)?a1{b{t>{<=z`D z%%#~c|4nw67`1Ar4bzMYbttwRg6bX}a!W~%Wr#{A?P{LVww-nH^7f2%2Nv#@7Dn0j zisK$2oz8A#lbpj*j{ouWeRz0&@6;?O3NuK-I)Ar9ogl9sTtt5}vVoOkTp{hKUddsX zjUwxoTvmAUgd>;X#Pg0AVfiUjk(D;$L(C46m$rE`$B`{bG^dA}$4*P0u#V(ToN1`| z6PuU?8Wo1xh5VKCz&BlL6cs*;81g5@-8N!VT40<8xU^fTvcaUTA}s0Mb%G{0Vdsj= zL&~++CfhaUkMETa2cd&wJr(U2vCP&REv6(adbXDFH>WpdI`*S+&M9=sh#i#3=q z%RDvMaphAkhXB7-NWGlJLYAGP3tAoY-b~{Kg;1qf(WLh{6SP|W(^H-_A`*T!`C}Fo z^GVdIMqks7M0#BbBzJrg>!oSqxgEFSH}Vix**QVKGw7+a}; z@{ZksxokF!z)YixZU_Ofvr(n}Qv+uEJmvgMW&8b-@rrY7!_7#@+r}QwR;j)56$Q z^dgs@VW>)b3tnkFrHyF!`?Ci`5D5$yJVc-_7Tt!?xlG<@RVBbAJRSm_@ zQumJ?t3RcELHpU_$`PBnZm#>VB(OP&a#lg}@Ztw_czdfBDV9q?68uhqBeZ2X=rKYKjDsh!fP*-IAL4`Tvc(6e9=Me44m2Ethg?~* z?SYA+ZLWZF^>)pWWS#*@+Bth-CicIj2^i|bsdL!cpX}*g|8$>_5_l{f3bhs zmWJOxIb^JAoE;;=@x%~SQ;6v4=U;k9Re~r$zE0dQ5mK-1I0e-v!Y?jY{(JXS>J-hV zi0<`~9n5@V+>+1dece6HUd4Sna{U!hxq8aYY=9^}HhJp_d$ z>|7Y#Fcx5FcBs((Rs4R~I8!JIY*~qVLRR2TW5@RgarM9DuVlG|iCaxy%`YcMvEMn> zX1NrgR#Pf=pQusP70Rs@s*sNk=U2u%u%m&rp7JPusE^l{152zH>FN1jlSNydx&Az$ z5uPHs%cABf2M^NGr1s#`#RFR^Xss4;mkJ9v=6&B8BPoM=hVKP{DXo&2b zig!w+x@oD3aVrJaJXV_Drz?h#4(Lu=FY8+UmqK*-zm*EYQ1rAqGp9VMHv0%P z57wmTp!^ardxzs$atfv<8~7j{IXJU2qx#LSrMncUX);N#sgpU0yhbi|x>ibi1GW`Z zD3#`pxW&L81be?Y5F?v=&6S^y_)NXf2T2)xa1Yas~V>R4!CZ#Zg1edu{$&1 z=U>NzB`f(_T-^TQVbHf|b@S&xsvYaUeNzL{IRd@Ap}fHTXkK?|J>+lQHot1(EVmAt zV}lO>bk!=6GqhQm8l|Ki!i5I3jwD_RR8ufxpH82DK|uDN=KF*>hf+SnxB)+Dsh`TjR-J+%aMw7*^d` z!uj&4#GRH*`GT1aPH5VlKJPu4KJ8t{wtq~N?SV=T5R?g7I)m3X{v@LyJGWZ-e0a}3 z(jicr3HnP@TGIeJUIth>_iJ>&%zo#mRjjUn5iiZM-XHO@(P=3FZy`_r4eKj695+SNoM%4>s}AUlp= znl$AO)Xoi1%^CzxILx0~u4*Za#IbX*zd7TX@iJ{a)Hl;1G1#dW(9nbCt$A| z9Z9L_YIO?%u1UvPy;dDUw&AQd1L@sUP9;yuQplImG^bbW*kPk&JXgtZbov=S64bI^ z=W0K!h(t+5J+TbaIJV6~$`R)k5qeHG&B<;r2{nxiqgfIsouQtJ1@R5xjyiPhN!Z!m zF<7^kYtymckF!Sw9ddgmsC|gkpcKG{7F}<}h-O(YY=<3#>0B)3sc&cqh6kUGy9D^2 zAxz?)%_F_N;ACCG#=)Y&@9xgSs~D8!4mc{PM6+-ogQ)=Dg|n}zuhGx#*BLL{A4)w> zePI6qK_ZS@Z5tQMtZ}IX0~sO409#zn7WWQq?L+nAp&-PEhuJ;?1k%CJlk5g2(g(?) zO?2p5;B-{zDk|x#;uIMdHeBLn>|$2)B3Ez+leiNp-;^2E@5_yOY5!X~;SG5bUgeM; zwwcogo9Z-xh8I#_=rj^IJ16qyi>ir&mt`W-QPIR+<1QBFlBP3!Ax6NFWWHHr@s0vv z1HB+sZ)00vrp0Z4eCSNaI@ZJUtd+`uq<^77&0h>70$77I&q-S96|2>(m`2Ecw!VO& zZroHLTg&`MLw$WqyN$taThrX`+|6Q#j4R1goZ17V7=DQTPA`6xVfg9o%)^EA*Fp1B z_fY@bi4s8y{~Tw0nWE;SndqlW(uJ#x5ATk~&n}~{^k{KY^5l?U>#3(D(ecw7K4rWfWsq3Qr&(>A5 zR&#AP{W6Np0Q;3DonI=y{6zj*w(Q41*v^jC)+b%gU{m)=oNB%`YLrN$$|$#;{#Eim<8{Q&>CTaq{GOv9|*G-PSH7xzxEP;&K5Dc z9#`l<3pDEuC`ay^K%M!sY4fFpWF#JDo z2{tCqcK_}9Z_)S#|Bj>n2mE^=7HFfCaK5>LqPxLpRhLVqy#-4|Uq4`E7(1Rg%sOId z7M8YB^mW7Q9+pI*Dz_Y~E(l}kakl*$4PL7jy{oI|Td;exF{V8@7aY8L3wLwd?IZcC zM_;zr(|xiFs+UJbv|cGqPDbWJOo@*4SsF)5cHa&jy_g8(C{54i2kGC*-D)5aE8dqn zA?`#_dnzf#7Ra1GTB@Hm&aT2i7fGwEB&@DrNfMEREd;Mz5t_p?IVmPJc7-BPsOKP| z04zyl(>gc}92-nfESOxBv+2J708|>0a-*r8rFiMPLA+WQnHdI6*?FOe3gO9UDA*}vntoi zlq+Xmqm(TvC|sm5DAk_cgm1}eZz?nzYA}pZ^;&gp{mE8>lu*hfF9~CjbcQq?h3X{v z*X!EtWzGx!*&$Q=G}?Fp;?l*fW(vt!3?aRrNNH?%SC}KTu7vGQpBU`KVl)bj2`#q0 zsuBEZ@ZtG%UN(P0j$<=FsTi?(qEQy&c2Cx|$!*m1qR%bulzGmd z!6%-+g=-?yM_FG+L{&N_%~8~fX4xp-GfA5{CBviMl3a#(Dc1*qT|TOlLtSd5U09?Q z7A#T~v>zWA_t;cT?f=3p+g#`V#v+nSv?YKVmS9qG@L1;aS>gMngAs;`N2C~D4e+s< zq?iq1;uX>kdX2!t;{J6|kf!{jDMfFn@>qREWDwTg@eB=lz zwTa{!m^&_xk)~c_;#Z4&iu_U4=b|6Xb>G9)>;C@!m};wo-^pFe)KBZxf zI?$-jk?uiW(a>}#UHrR!1Ql@oI?<+|A7e(fum|+30zXNz<5H*s z6Othi9Qn|V2D%W`E5)+`wt)T;nD)@yQg$BxefIXt0UPf67~s3)o4!x&_51m*m)Ol2 zOzTNaD8-Xd3HE8O)aVHG>kI170(^&Z61HsTGWv1_QR%{2Z`tkEG02-@>|b9OKUSx+ z0RID9U%IhFLQ(D=8$yb^oEB8hgQcD8avL^}ow5tswb50@0` z^QFheDGQX^)FjI+Qx++FpGd|S9cx+L-WB^tf^%nZv4-uTD&|d>b`D~kKY;UMMw<>2 zf0gqQqJPs0VBD4KLi0Qzt!=4!$mHa~s&kR}bl6=EuktQE-Xw2&jfw?$lE;9WD=k60pL<>R)Hhiq#O(nwPu- z;1e_;q^}sX(s+Q?K1}T-vQ`ia0-A{DICY79w_yz>QNNxknb^VUPb7c^@x_`P6N9s2 zuB3*$!DJ#cYM1z=!Q~A1Q#a$3#nYwx2m>Xxg*%><4KIzWn`)=(I5TUm>in6}pfl)L zHfXFtb=vJZ?OH#X3Edig>%O4xEP%fV;LGvt=KHz0(bhn&2FAMM%P!F5)!!+Ep;fP7 zG!ZMdG3hQ|jy1qq;L}oN#swO2%?ZdVqbd2udE$HKV_=5SbdeHY4pE|e$&PfgO@50j z<-{ExSON4wyq=jWdQtQa?B;>x7C%5naIG?K4J20@w|NmA#I+Vs!1z%gzK16au8S00 zD)3q(<+K6EkY4@6QJBfF?hK%~ev8u*Y>}Fv2*!9kWd$Qy;#U5X?)Vm>E zIY=LTvtk;tI-NmYJxVcuYya)&z2RyP%5kK1JwXxl@3G?K@h*c+=e!`nbzoYw+v1)(|M&Mm?t>IPtmHc0*yke%}=>DCI0S384_cF2b zxDKYK2?0}L5T{X8vmiZ975yASHLyrpw}?^hm@sq-7Ej!-i*t%ipi9kCDUvzwDR<(vJA1`7 z<4o*nm%DHlWl~vCpw6S-qUAaL%0Gg+>9;dPeJ`x4BCrhY#@u2dCr|`hz~BpPXsZ-9 z0A9KqoGK%$ecvemU?x}&5Qg^Ke705%?dM$GYpn?sT?qu~ zlF@zCXxr^JN1ih20U1o6jJKZ;Nt48nPq@u!ia&)?_m-vFdwFW!SiV`@@O4D`~J_?h~)70K@=PSzz`kacQ*cC zB&q+jMz;U0H=5D-b?}KH{l~#)SR}wGslaqyGLriV#L?m_YRxTpe24@R+D@dts7FCJ zr27sUzH8rSo`xdI>9jpOa{?l?a^jTtwamG_j~4FY;vHV__;mC{ zCMj8bH*>bkg{B5WN*W!(>|BT3s>tL}U3{Tr+Njzktd>ajxrMO0^0!YC!&Qt)r4@19 zBBZvb!PKUZ7=~Jn0U=GWExBo%s|B4C5fU?2tva2Aat|{vAu)v|<)S-ds>b^ulwMYE zjPUHqo#3=iw$wqjb@-0qT^m%;kuWq}v|vT2B2JYMH0D&+929Rpp*qULFi$Rw)XSNq z_a2t|`yrCmuF%mGqMCdgpjX$%QBL}(g^q7fmL*e9*K|R9H?9S4tmyBGZ;w0*fUc&X z0W~T>0N{57^$WQ@lHIg4q=<0MB!ehxD8b2YKm{9DVQLREa0`v1D1*C8F!8^f{hIsv zHV*l<(L+}>rhostoT>ZLiK=O4p{osT%U|d-folGfnoHPgw)uj@Ybv}u&ZwrWoRj3H+^q!V794c;)w(PgPQN#|M|DP9eWmv@)Qe^ znZl&+8umq*;0Vu#SSIm9h$K_UN(+%U9n4RiR)q5Cl$a7vsD^3nfX>m}?)38I z1}UDzW}K~ebqvsxWktiHCrhzpGrT?4_Xty-?b3UNb-FGU)^5?NWL|s$3d4{DxE0{c zqup)4PYM`~Q1`=#&Ko~Hx|}`P^Y?IkKaA}8d;I$xS)k~IE`;_EKMJ6DKUtYWU-pD< z*|S}EsP-4B-E3)u%_!!OpKOK#MwxDy+~+5!V`}?b*^EOYt9fQpMG&v>FXoD(C`-Qm z+NkGm3f-~_A;>S{;N+|!fWkZ;T;I`0{QVKaN-x`NfxbXWXIOz1K#fABrv6LzEo_&mjuQn(KgdbWoNLBa ziP0Is8|%_q{gcfEe6An@#{%_+1aU@~p2cw#m^)K3(^M$XR7}M@=_fbcKA~kSx@V%Z z$1jMAQ2|dPebR=`W?B=k=ch;S{*IrBj_lZr&qZFo_kKUV)C{`Eq8e>I@^c<{;(@t9 zLZQ6uC9aq*7Qx7rDBXM;P;SQ==e`8!xHKn{x^&8j7lw{5)!LJ(IV!D-#HGqJhV=Ch zyb>i+oXIL8s(Pu9vD3ik^h>p6nW2Kh#q11X?c!34lyX)Tb%%*;nM|{rvdCS4yQuE% zJa3#C-Q6?oPRE&cRd%ml^z(EOHKOTXDZOg($JYp8Oib+>9&(>7cN+=9Sh+eKR01%u zS!ZwUGsg&}w>cWF6`1r|JuT*squ>BxWNrhKAW{kJAg|x7)+V z^PBzNi(_fN=w&SEVxwb@!#guYd#t?>)zIy`*N^aVUKh+VGPZdQI;b}&*l^74DWJGW zt6jtOicEJkjrrixi0rH;ZP1;)?fW~_UWP*2$SbOsLUZc&7cku1LS(COTk;C7cC0rM z>2xBUE#2aXi%LmxmMA%OiAiWqMRpt#Ix#gZF&3f|5c?0*whh*p5s+{tpy`wa&Fno7 z72TLRa`Z7fkCU_h+D$Jv8@kiHKH0kX-JHJ9nyj!wOR2-dBtPSz?4W0mvZK1z^M65iZE9cM_-~H^@?CbQp_i0fPJ?9Nz%-h&P zy9jxMD|-F+c271tyA2_09{E~M4~O+P4_8@V+PiQ-ydN$fP4>e~Mk(J#B#wVmbE?DN zhUJ>+b)Bu(Rd@eA!0TZH@aIfq=i+~SSI`#Nadp{vv`y>S-hY?mfTe>)8FQeEaLDw-^fcl)uzfB2E%v0#Q=dY9zZ z;WiCl$@m2@jHvHx?_1~b9E=w6Iu%vVWqRMn!Grr>+~3!~=KE{kz2biY+hmfj#D%Zb-M-QJ_wlU9e*O5C{JIR#)|3%(3ne7Xz;egZvU*-YzeN@u-shSbwh%UhK>avrHgEA^_ zZrN6FYIptssr2+&B)HO1Awn1@OwB@)nABdDgeYmav^3l&IXl`a;S6mI3fT4r1H(z# z`tIeaCK<~qV+eBPXK|Wt<8ToX$a)r4V_>zwQ(``-jxZ^^d-_ZhDgu%cnqx{!I)wNX zRQ2h~f?7!3LeFU!3`Qi%r2-OgA6oS3A^4n|Sg~L}uN>e$vtpPAV7uZ`=FALjveTEI z6JL~LMZ15?vM`N0=^8|+&g2&#{t~Qd3Yi(rNVy6B;cKIKRq<^W_n zoRvNbgPXr0x{#??-u($iN%x4;sP1Qx;VI^b%%6UM{3kSMPUi|*v2Z2m$qf((%r5a5 zQlV)7K)vu_fX}W2iSXt(8zhu5qN;=3!&u0tNf4q5*;{3mnvwP`6$wM1xgCx4TTX_FEP z?utP%wkfckFs#!|&t(Z?BmSvSrQb%_x2uLh0{xubjxjWKqcBh9ENJ6yMq190Iee%8 zV46`$i-;9c!(vf}e}-~1&2?#nj}oif)wqv`2dDr6b|r*Sr90ki6E`J2juZlj5bzyk zrQNNG7!O^|YcM7gQd+vL)gCjA%I8ka_Lwa)LGjOIW`^=SBK;6w4EbnK4${;7gRuhW zv4c0%b)xKb+Ht{~X%>Q`!c7o@`mnbQM~WpT$&7R|rudE6a*u)TC0#Wu+p#Gd)F_!% zO@PxpHxB9aO`B_0xpcs(rq>wX$!M|1Lh>`fzbt z<+a~S&+$K|OjaI`iRhPMu-8ep?q#%-n#m=AcuCODk(5EeY=GX#W{d^5>0rAFuT*Os z$|YVZ6bL$(M0}Azb25r;Z0TR-Mq?YWZ;CmirT2u-xu?NhidEkY3MU7@g)4cmLPRmO zVU_Q?i+|~_d-Yj&-OWG{jJd$k30;+$F~!(w41BA_Q@Gn} zu#Vjit~)xLc7atjh;IrdetF+>g=kPw{Gl|8om1c8RTu0F<$KhfgRY)wrYY%$?-dB4&9TOlL zqnZ2gA8u!NDZ_7BNN~(DI37qE8V3D-s?V7v7bOtx(?fQR02~8AA=WK@7$MiM4!F!o zqS6MHlA!*#RrB5#*Z}q}88i1+Wvj9Eje=o@t`-0?j#gNH-X%Xin{JwmDyQg>9@l{x z&(;$%Sg?=jxuXzc&nKRJH-iuFwd>;ipf`3E8(uT)z%x+#4oZ%vs!&p2j#bmn(;ve85@f&YH0UA_p@ z{mOv`7sx5lbD3x|^A0Ihdz3arq797<^DV2V)jh)9Id&=1i{if8V>p^uwQKhgtMX7# zU(_@pjy4{P^7;L|!$>WMOAi3Mar;G1MB&#R^c!BwdJ#fk(Nu1ZI-sLv|3P@K69I?+ z=5G8m7E62T0$xR`j@ z8i~BJ7+rs>=OMKyt&*qG?<#5qzfuw*@caxK)k)69UJTZ%kI$r>AJhSJFY+oL1?iN# zVH}9|Jmyknb%hv>)p6#3Qn-p9(tzsN)7P*=K8eZwXO#$~kX`Rkb8J6^h-?`k_k`ye zBrg_54xQuwKQf5_Q?woe{d8DqyIKT*8UG$Lsfq)>AI7- zfwzN>@kCb9O%hE-kD+H2#RUywqC{%RwFmsimU~H&h$Jozc2T%UiRYg0>w}*K5(uCV z7jIX{$>rM>lm%xd$QRy|H#m5`1`PpL&ey=QsORWmA->=Q5~(>u{+!{gKt0l)_edC} zA{q@|mwwNP&mfvZ{SRQ!?W-E65O`Z)s4FefP$__}da8=pUTz_KbpG3Ylx>NJ7T{>fsDa;7Ju1MH(2h@&mRJCU!wjN5t z18k?SZK89TvxH~Z=5&qfE0YA;k$ADVcfI}6Z6JP!bVFu$cc%vK52rWX($CZqndCH! zyujW0qg|~_JP>w=DGU6NgCJyx%sj0s8@>i0sxnH2U@2vP-z$ICgNGfmhb7mue_g{V7ZoczQvccrD*s+P3vER$ve4P89I3Wy!`*Z zj>d>HK-h#2v(Qy;WEq25vF}-7pinX=!Wjx~11`55JX^Y(&G_Ex11Mo6a1DjAN*>2U z#n_k#ZO0$|fMazBy)pK~P>0Z-ZKKiNk1F?gcfJi|v$k=Of-_t$F=ESzJ){*1e{yby zHi)T%xs`r%8$MgPat9uC>lfSyIL^brFQm+2cfDf3Rii6I42h;neRpH5puve@T=Z3*pk$Ywkb5B~-TG{OWb$su=7 z*#2N^+uJ1!Tf{G!1I6yMRzpkIhIS@B6UJs@R2Cxu2VP)zosFv0(!v$avk&n8B0$Nu zr!JGXwHAr@VS7-J8Mj+iuaree?`iB}=1U_o&G$1B7v-*_Xa? zQd{PPk^DmPuzgxgJX!|-PmahX8sWy%ueRg;SKER0zh586|Ceq2-ziiYiq4y22!7^a zKlQPRu__2`c8>=2K(245V6zYCote66wV26tX06IFl!_n6&`j^WiAzQ2Zv%SG| zyPEmDU0dOdKw|@kzvGz*5{hR<*Bw3GCafDEcy^srrA{YSB<=bu?5PrKMqCJ*fu!&qSaXJjVMsGswv`d549GpA+?m=r zz^Q^%xIo!5K^l+b2SwXwNc{xXg2i$mF^w`zjwNn!!vakBsTNcGZDyQi zN<;z=d=NWLOG6T&lRS$_(}G_k8wMk=T45HzOn*QEcCZF^^y0!ammn5#xiv=R%2hl{ zqyg|1jqpTd!m&t5+%D83H45Rjink%gJNs+~{a~5aDU7gV@% z+)?lo#Hod0BfMG@ha-+G#@If?F%O~2up$`Zlm-LF7)N>@uLATO9mb3? zHahr$h|^B;(<|a!bmTo+xBJDj)9Eu|?v0au2EXW-7d-$xx-c;_6N2(d1O}_A_f(yI z>>EOuq^;@cw>-kU){~h?obB&qvJ_#4b4q9go59L`7I}Q5w#snU29hTfQb|n};@0{+ zU6p@hWjW6i&P)@ec2BBO-82VeaG$|E=M$Lt5QtIj5LFXltfl}BPl%=9lp}g1FAF)G z_ku=8as-?nELB2i2?C35xysnaW+ImgPv6pPI(w@TB~}K?@6f<7!~@bqLxT;5{;EXY zWCNAaTGguMPxpzQx_o&=>Tyj_ac3AODq;CfkfBC7?##l1xGU(MjwR?$pfX#RFRA(; z;>Y@HyiqkS>SZ``C)I@gJ4g*;Pia_H@=X1sK44OngpCAL>JF0xk;bZ}tJRPuX7sZz zgwEIUvUIi0VQ!w--xYPZuN1XP3>A$LzbfC!J@As6m^9wjkRuWIG6lDg$fdvQEf5qx zX$$khO_or$-PbBM@F(tdyJz*+7%D@Q^Zuwfs580c-NF@YUHN=|7J5VCZo~NXUH4w- zxY7UYm}T3lISX(UCeK*6EgU{pIEPt_NFvUzool=IZnija$(`A<^q(yY-beCMwpsjNJ{XT2ZU;gLIszGe^pZ^_9J4Uq?BNs33 zlTtUWylxn{PM!J0H;nX;96Om$uV6(Pc(PLQXL%$);+(-&c!W^IK1OQoYvMiw*65|b zw0y>JBA=pWZ&>xRoAfQ^!x!Vi3jiC6U;Rct$q%zwB~_>JCFiG#CuVO=cU6u`R_f9} zXTH@)&I%x05L0B{y`J=OgZpc$x~KixF^cEMq&=e{DvdUbbPc1P!U@0j3WW2wG6 zoXgm(nHL@$jT+r8s;BaApvV%E&e&@eg(pCMCu*YWdTjC8V+U{*Jz6X7v6fLi;;UX(Zb8faS%u$Qc(e68!oag1}i?o&j?NH(I$n6A&t z*ZYX(U`xML{7CP@wcP2#Q>!Lmf@J3NCPwT-zVZQrZd^s)>f~0-9FnJMz$j}4Wk}#O zG7~MhXVp^i*Y!*&9_M1v_1GT)<3BKEPuxI-6dfS*4IQxTTF-K_6BgG`%zxj5#>VmR z+L?sz9jM}Ia?QfqeH=2VfZS60mAI8=H$c^|C;?V5qsyeed2oz7;1WfCG7-16nXYXQ zK4Jg2HjpY>_t&2V05E{~e`y09|37?rwd&f=SnMc%uQ5MEl04Cd(dgXqr%a@9%!Nnu z!|jXxlkCXQd z@1LpUYGyOB5CgWwMpg)5v{$kypE$glu9FH>5J7O)6Bt_+X(*WJg;K1qcs zKbRp1KFpYLpa>Wn{`RdZ>|Pu9ZEdtFo6v<`W2ecc(!UNbbY)7Ge!+_DH*ijsxT?W1 z&tHG?$e`(J10%8(pv@!h^q1DE0mKq9ZK>S=zj6H~LQWI&JA)9wtqymY`v*j-K{=-2 zc&jrZ%t@!2VrYaMV)|@mOQCDwiCOSBA<(O<6|hYQ{pWOI2Z{L%C2g23Vx0!x9S3Si zP&$n3YZePimUx$Q5S4WC1j>Z-h;1Q05q;FbiK?Okz%vH1>of9N@Ri72i%yk$^-euC z!x4NTzXs~rF<$OI^1bVvYMlTIwD#)Je6V@zRHgpb5Rvc$-DD&IQxt^OLD_SZ2zG%) zo*f&V#u$^GxgN`tV=myT589v^qnZmyz*G%2OPQ!~$;3r54ff$9E(03+=ukYFk_d^p zipd}#%Mdfo$dEdUShYhyShlka8ZF4A_WLEgM(pnAULiE!m9AJ)H^Gy*;kE|k+NUL| zDcpi>+L|dk+>zSv&!U!4?nP`r=0s(-?WlDh`GV?bGlqXe0f$Oo(ToNET}md4dhF2% z)p)l_?iP@q_P@H`!Z_4zF$$zDT9xSmNx&5#wTrYQAsA$mz5+A_{N9t;lA%mg?-UD5 zm-pT>OD2hX$Wy7?^mM0GEU<7#0M?ZN^oZ=0$UEqO1j~|N&<9#%YU0(wiv8G*CP*R-3;Mw1{f#KtfwckGbf{2@v=*C0YX?wZ8PiiMX@%I~*M6 zNr21;PE9jcVs}fhMuQB3LWHxx8!A-)c7mf~Tsu zjdDk~3JXq%@dyuNendg&2uPnP{G~lKQ6!a4U^@yU&(W+vH0vx?DUZ@u(XT-wvIWZg zJ7u-7gxkHfOL0v5>@{G+QO(xv$OWU?CpXa`02xAT~aHz^9j zf}||Gs~6+1l+2pgLsY0xF$z!RuK0>E>1!ZeJz}Dw*d~(i{2U5wL>irR2*2-cyjcs) zG0R;v(9|PCtCCN3YU46SuU#joUfj~u3m~bh<)l#vY_0%fI7c<{)D*2a1)sNNHCHrC z3nxBXf*m7ezIdA+xq|W1|LtUVU&2zN@5k!hmvCRge(bNwErn+rrW!_)tPsh5#;JD% z%y{$`aj9}GJ4}h>&f=q^qmPgQII#8h@ea##QS=TcG{gu-xkb$UCt?}$HY^i-ma!R^K!SZl z)MmgLL_h%B*uvB;p_kZ{8fKh{l!$wcNCjc{{tejdtvdchv`@id24YR%@e=jEolM3! z4Aya=qQkH-JRK0M-K|EY)Gfaiy%gm^N$lb%g$tCJaF(vmT?8o$xOHW5Y#N?TVQ#%& zp#v%CG(1X8>XSo{cm~MT_!xlb#lX;`ar_4T-!(?pt&dXh_rl(Y@qcYd9KC*{n%oR+ z%>LVk$>>@S8}39uSX?e&Ypu*^*9g$bmE1 z`0$Z0$n!lps5+%NnC7XZBlI5`dT@m8zx@$jxqX(x>b+i!7y5Msy}Vuk)ivvA*l;1* z`tk5ZCNorx(!_EgMABz0XyFE6QUY0y`cK$>c=&&5;#7bQK^dS)-)q*A(>%Mf9@8Ys z+u;lnDu(2$$pOCP~3Y?mUZV^D4nP zBaRsNB_Ykg4Ji7+_-h?I$*7INQS$`xp?X+E0R5zk3YGvB6*fhhgMX}Q-qymFxb4oc zp9Fy>#3V*YVbgMiCG;iYpg-v6*~n5EO-V=8ruH6P5kxu8^CIGpsZtezEM4-U9#P}U zalT{ASQ;DB{^GBVfB6aBYtTp<)7{0Y^st@bya8{G5_;XFDc7qDZ2|D9(?BHStWpXU z(Yz{!HX1sJgG4G@8XrLBTN@JXea3GXJ^gEp%Gq<$S@yhUhm3hPB+97zoo7~XPVJsuls}>-W+H*s?C8WRT-D}9f zgqdj)KxZaBHh?e-n0W3=^^JyC?t5aG+$*?hlUYbshK!lEZxeUQ#R~ez^I%dSYu!eF zaf6MXhINi~y%PGu+9wY@@#O|SZ4Q8Jm!pxf6a6>8oN*#mnW)G(rX=5e_r;My1m+hEAL(4q3DcRn*C zP$jOR1|Mn0t&eVq5rapYBdAXJYW1QXfM`0KjEnQ+-(E&trlM3Gp{2?{KmAHAM?6(5 zs?67xI39F$G2gEb=G5B)a6XUQX=Wb-O&VARCqsu;S;V#M)rFu?le3plS&$dYE4au+ z2o-cl6_VrJD&etnn0UvmNU)Pufs82J`dhH^=6&aS8Kc-`@f_>Hf2&kC1G(efF?m%` zOkydwf^KN-`d{2qV$Eh(z3KnNe_ZaPrcR6s_HA=4F$CYHCzrENm+|_k);-VfDi|nB zX(T}0ozJCw$FO{7PrzENmhgUz4)0Os0O(s>Y_7wJkYhdTWS?MNEKP;ft{6JQA+ z9I;p0$?DsMVj)yMvCVJ+%N;a3@?V~vmd0^JDp&sx#xtM>b#km0BRO_29zCD#+*1iy z{O2~ReocT`^j}ajeU!Z^pB#%p0Uk`L!plcU4&{p+zm2h1xB zf7J0Mm3D8oAPE}$xxm31<{DkI>*)3I%wJ1vWL-aE@p!!^R_=$@LuE%OTw`RYy%_t`h3(R}fxJ-)az zhQZ#eC7;i~7JPaBdz3Q^mP!Z%jf#AXoA(TSo}J4#ZgbCp9Pcn=Vp9|VLfWts?A3O$?i9Wv=^O|S%VV|bqEf#1`P(5n6sPb=zN zoFlTRhz9X*$gvkqt1N`PfGq`~K$s-%w~{J%BXI)m1Pu2+w+n#ct9`{-`XY5G4Q{cb zz~PmmrG9y(R>aK>9d&S&0JXebJCW!4SF}nyqU2oiG5bx42OCJ`dLP*TyA+eT{j_UP z002l70s!Fr?{%S*p{1R%jlHXhgN^-v^@FYWez{|DHlE*clK%t`_976p!*WcRBr&`q zWt(&xW5Xw89&bCxTMA>l1MReTMH=pTezf(yCoEsWW94|5xn=BRs7aS9RjTMyMSg7# zfe-B}-mMIQ%Syx4;Tr09GP7$%kD~|TZzK{EQS>;KPxT}6vkebtg2f?6&4;7AiP+PB zrD{xnQlPZKEx%uaBy#6*9v%P_hTOnbN_`f>)FUytZ(z~eVFQOw%T>C%`($%c+oGxoOjR1$xhvN-dW(-CduhPobz7za4l z!^TA(Qahf2JNF9?IrSijQJluzECkr4vB6-BM%THL!{aZ%JnVgG)sp$$=H)~W)Gy&f zd2H{2Hv+qUKfpgM$@51p9QEFKg){qea)KXIuORL-!+okB&SbM6#?tb5-!@AFs$dzD z;vC?uP<%a^?R`sr68{i`yu=gB4w&B$=FNO+njKTm7V}JxFB&Vw?KDRG(=)CI$!>!7nuzm{v7Jl0f` zKh`46@Cn)k)SC>=4ImjX7}jv&llupG^I!nfL3ued$Vq9|#dK#0ToLl-<)jo|s>Obbdi`pC0VCFUKT#z{~GquJMGtzkFlS z{nmy|+F?G}`Zda`Yzi!~Ng^HhotYoP^dbXK&H%R3s`o6u?iZzOu%UOn$-D+9f0IfR zwQW(Rr~l9I_+O$I&elRCEKkvXU6Q>0*Li1?(~!!IGrm;FLI4z!DwiS(NnjRf_jPWh zk51clJF*{#WACVk!-DOw>;{ zj_VwklP&$uucq6H5&DTS;eX?*XIaLlf7Zka>+o(;{Y;8x1GvLyeH=lIB%4l$IpK5a z{y0~w#W%s^GW%56>CBT%Tjv^d=5XVU3n?fa^_K>&Sk>LrQp_zZ7?3FC^D16(vrDr( zkhO3{I;Ip$VTZ|){4r3i&zt@UIL6TrmVwo&gx1v68|-^QA0sA&v~pyDy`BGu5;6`% zk{f1?T6q7_aunGSj~lFn+Ix2HM!`K4%IsFBW3B{3?4sZhaj-gv!Dl z@@-IoH_rtpPmGOSrc{z3S}OG zU!7A=##uuqrX)=Q1}%IexdS4c%c1__gw_CuR%}+ifPp%DgRuG!28IrxMnYs1AOi^6 z9dvL8snNMKWqKEy+rFjs$u~|7`N>Za4&IP9gRmvtkhMQ&HUacjGUT)~A}2_pS%rJ79-$R% zbzr^`%m)N2`X>x48U(6=xhNeC*v7?dx-(=GKtc`)ldvVNSQ-XK@Mkwn;x|E|LO&`% z7Fa8I54eQ{l9B9{Ae=(~DjljFWth<9)|F z4U}b6KmuOK&7iv?BfuV!=eP>}$f(`4Q-dhm=Hk~BZWlZxkw%5yATZUjdd9G}KGr2k z1X|z^s!koGyb$jBKcfbu2%#PTIPNe(iE8-f^APj7mVw>u0D5o;wR$+M$Q7>z7NgpE zOk-vcMWB^lcpgn4VO|Jj5|z;_iz^tmwgd-=&Sz*0!{hCQyRx^ff}#ypt#RU&cW#hT zgbaQV+kKBCSGjcTtwdks#u)G`i5Vg@e zffY*16+;}w>yFrx*LHzNjzSKu)reUw%V+U82kfz;g$%;|p2ZQqi#uYD>8Oc<{TQ0l z$Ng?sJqXM7r?^YBcsBt{bSb1}>57<`7RWutfG=`<*%+>~VPm<;N3;9Qz^k~~x!SRY zm+1kPDli|>Bq&s3tW1x$;*uPq#9P3w0B(KwmFEhGLT5ESLP;VrwwLrEJz!RtwwCf+ zX`%tUh3|*w%5py}2&h>MV~=e(5pY!)#2b-oQ6!yOql?Y`sxrN0{SZK5&V~Gnih==` zaXMz^xN2^fB^wX9DH^8d_hSk|V&W$NNGKgIz_0qf=sTfgk`Awu@TdyR6pf*H7I!F$ z#Duu?if3v>{)EEAipO)+GVsX=VI?WseIsR|g#<+H0`sEzwWKy+us_)jDAV&Mjui^= zEehZ`u3@=Dw;T0ady1GepYx@@aF!@X$d|q4FaNgy_^=qU` z&md7a!T7M=XT>CS*+*YXV$&b|7n;3S3G$tHVOwC^{C+=w9a8d4q6*?#;s41^ZN+)y zpL2)q%qmUd4CAxM+@-5Xv8Rh|lTUKYJou>imYooA>Lj|r4{F3EkLcPLL#fR*7Qp8U=fyiXa4~qy z+`emQuWP5t=%^-a&}$yE-^;zX^Bd`*CQ|E0{A%OkFP6`cFO|p+tZ+h6yj3PW&1d!mLT_gz{-)kQpyqJJL{l4vn>g8(0p;a#qOT`IYCB=OM z6f9NP;Ke7~{@(^DRa?UFV|o~zFCg7GDrd#o&^6#_4X#fi6Vk)AmA)h=a!@HY4bk z>=z<3Wc4!1%1ZV@{Op98(|DggfL+*P#8E-jJ+LD*LBFombA<@NvIA5IqHO{3GOPzT z7wt*|+=Y?mRK)|avZ2;M?5*#~JUqfGnB9d!$mZr48y{6H95cT(p%oEzG??$FTtfuM~AFzCdH0Wa)ES7{2+jQs#y z2G<5i#tTA%oR%avklZlo&f%|+0A$mxvCB0)RaGLY@ux)qr|Yi?TojX|#u{V{It5Cy zrw%Xx27++l@I}hk@G*N<{^7GyN%GPnoy|GwHmSd z4*%pB$Xs4*eH;X$za+UdLUSd>6gut6tWuc3%m#@a*nxF)iz+8aXvO;2I-4En02Yk)FA7VI}$Exy#Z?_RGJ% zsZ6G`kb%FwDUg=MA+4Z}MM{kxfPtw1TnbdTONn{%6SWORuf;rI4z07HlS) z z+$Ho^$_4~Tc9npv_D6nisKq=Ppehi}nvR!;d*Uk@4d=Mbetf^ee0SgFsTrEl*|fD{ z7lkZ~=XfHX(NJWAF=+>+&Ynrp2V6g(e_o{gI*AWo$7&-q?m2}Cce6&kgw&LC^pr1d zmJe&|GwyS=SR^F7(*?58!{Jc~8C6WN-4yOn;sWWJeku~(hTbf{NIoxcG6Oe+P_rzD zS|+|Gba`u4H$-Rjui4~aP)H$VTqji69@~Zfis|OKV7nWJFaxr&;1yfu!3t^?=vXUQ z!fBk*xruBwN&T76m4#yXG6}RElSJ^sgY{OVz;D1bKV>W+epd?JA6UDy#bqcA)j_Q$ zk`oR;aD$75dX1xYoHQZX=();L#DIy)$*%@E8D{-Ad1h{|EW5a@Ga70W+e^eD3&Ia3ttBIoUV5m^yu4AybbtyP75IdPowaP~R zJ8PftY^FR)h^^kcwnf=$SBd~6BpZZyZv@JNf?5Q$DFEA!M@znpNDvIMd`io3Xj=n+ zj!Ry1Q+tJpwkK?R?Bg5*^pQZ6Iq6lH`vu{iz(fM%iuaD^Wuj0zJ*YE1lL}}@*7X8> z1Ld76AozKhNB_VFfUVx=)Y(hk+okVyHP61--@M{#?1cNYysipuV&wN8b8P>NrC+m;B42Y0a3KHH5-u^tkn%NCfZ+INZRX`?tsj0J)vSnw;Ofx}H zpgd~!q2^;90K3qbga5N$OMTHft^|%lSRt+w9SbU)NY$rSerNxa)*@Z2^tvZ##>~8F z<$qYp)_KtlxIzkg4~qj=0f{pg?=N)6f(MPgz7!AG8E2*4BW88WErkJfb+E2Y$Kb#Z ze&iO74TVRa5(;le$=SKY(1gCeS0D^DKa;)z7$cUA)#D_9>&DSUl{=c18wzixR{%gG z*5J+jAjGPQOYsu$F;phcuU=i8j+HQF8N_07Jg`^2cf{{z14DH5UEwa*WPR?o zDLYV}`k{lbd6R{DpYVvIPPU_VDuc7Y z`6-NhZ8{2Xsr3SKXNmO$jC$t*{RHrmblT{Ld6u60)<ce=DNoi?kw%LrR>M!X`X~_%;09gd z>pQsz%%|PA(#7MZq{*oHrmy50A3M6!4bWA{KiB60t9^ zfyZXWn&>Oj6>t3&x@BM>O|&*&yOFAD)wDFKtozd@P0%!Bi^-0O;f1WAG^_f!I)!{e z$roYeHwv1HfhBPt`haxAh%%Po0@|t>S0j5!WEUkw7YLH&h_yzFt6>*|)<~EC@?{I; zHdQiFLATBZHMXQ8Cj->l;aDfgjf{vfGZ`^q$5PH=vQngoMNupMu$m#)X7(?O@fJE) zkuCtsHpg6GMkmkC%(JbjFEM|xqIxU#{OzhJV)+*D8-upx%+%>b>zg<7-_;HO+hGN> zgcLg`EVOZYH|RU%&!V|HVtV6IE3zWY8`3b~FRCG2?a<<}5RUSeSfs#O$0Vxt%zt;xgb*p=FY0-hVENH_D;;GC`m@u zuQFBny(Bu5F10&Wx;ulceXw=o=H)%}tR!#f`ngc%f*0!j){qQ*7M*Zdwr05&WWUmY zLFn9!S!dnP#~JLQlWu;IrpP43FL{K00(3Z<+N5}{nyN0UOronMxh;R9a!0&D?^>ck z`b0Iy8t~aEYTo7i%OQ3#alf!CnS_1BP01bU9+*rq{2t}Ak;y|zeN;(+T3(5I{Q!Dq)pr#v{!vxG8VrHyJ@QwGG+ z5nWQgj7lF6ZK`epd>3Xe5d;7TLi;2_1{?iS9a0VholBXg{OO)+-V)cSC03$_gd1th z$)0*Eg{G}2HMPu;AyE>OZI8Yer$>F@X8^Mm*Vw(XIPY@kGJ?z~=km2lv2HjZS+SQO ze>P&J*!ToTp^~M{8Lv!Csdr3KW=Kj#r~bXl+wH8qr=;c<_mmDJ6d#+?$oEXN1vSar z*lw?pASfDDl25Aito%(7IrT0pA)39J7f1`d?_3imlZ?_wx^DODykTfKM|%?L!(}rJ zI!F;^1u51RA}7U>ic9IJ`+`Q4`iTnVQ*#P1Bcv{31K4KmnX--QgIco&thxApkqVV& zwz^J@u}BpQiG!@{boFt7(%>j{-m{*rD()PZFE`*?YmS8i7+YX$k`z}dDXRHVo9h9M zbBo{>xa>;)R$zM)Q=EW~$BB)RaHVV%qKTC3OgA49a|dM)U!@{I0e9w-VUX()#IKId zy9W&OM81y>@dHQ%UJLdrDRgoa|418S(3VPX-Q?Q^@ZF;de^`xmOF&F@TyLohYHa1B zsbS%u@B!}?1sF&5(|E2z!fVDIIc_K&}<_{byfPnaJ3Iy?A&<3l}f%O6SUZH8ba<{dT|!a&f= zHJauqCE0sgV)LjR;svj;^x-}gmIJjCsngX_OBA~Vx9aU9-|f{i?7!(nlA zDw`AAQ}*9cHw_~^1^fOEei#7q$)edE;6~N1R;gMB{b;6e$Qr8~l=N2OSS|F*1iA|2 z=_@Ak#!muGk^yRVu&z-0nL~6mm2URXmivO`{UZxQqYLT#r)R_%;IAwLix-Gl0#t{l ztF93rrBeO3Vr;ZZl^l+t5>WarAzoLfx4&n%xfWns{Ao#d?#}_&SidvC>o(0+SQM~& zGK#V_vK5ohE9PEi>?}B6g=O>sO55X{mMzgt9#+NagF|z3KzDQvXJBqkBX;&PZJ^D(H+}v_C(i0SD5vR zzf9=pRE8z@@is)X@s3UBi4d1prY0q1w4k$s`F{bsmaO0AWAe zzSmn^yf)f!hrbNHKs+n83C{@EK@pO>^l9J^k0Rav4T_RwT}yU>A^MTx`MrNI&;&=* zPi4^8+_&vxB2QA6K;>$f7M5i>Ee+*Ws9-B0qwfO5W~zBCRr6&B3i!k2WbWA$4^vON zbtqwqv}e_7q7V|TI)Kup8?uGtCW!zuFR${Vf9kfv-#GWM5?}b$q;h;2X_v~Sbduzx zma@2%w^4#D^fBsQo5u2L55f8PdJ>}VrfNVd&@2T z!`%Qy*0W24P>{sp8eR`@VRU0HD&2RCz9elZ5d`{7o8#)|2c(?gKUxj#yk?2?vVUrj@1v}8f9dgrO0F}KtANju(H z_J6SQ{wZTkplzgIG4spAEKrORpUbch?ve>^g<3YFg)JFUrwoBNc`j<@lsHXBktc7{ z49Gn4>)EqWsIR1u>qTKOkNv4@L@pBGVuz3(22g}7y&v$TmtTksWXZ5o8$z4PLIj-Cx zXtoKPT?3RR;{|k8Y_hyOB52#D5*FoemRlwc6>&)vWuRQ!AK#IL$e*bhAC-VRwnHMh zj?aQirl$sXs!G!2xuwT36kyj*xc@-~htqkRtEtMoVqLPVWiq&EOvdJ6HC3H=oXc5T z7^l*4ojSVsUDCr>U`iO*bt9siqNo2MV7I#|?;BGvdm&}=UdVLk3=kpWhTrgGl(-wW zux%<^-jqpZRnt&Te%j`083)@1Y=$W_sY5?(l!0RYoRuL|Tcrh(pwP-!4!=#@dIR-5 z8XuAt2^&Fbv9)D#L(cpfzdgchzVxwzf;#Lrfo7>Uymuj;w=`i+B+g$q4q#IZV>Bv! zUEfUmp!TR0U7}0Yv@gar7I3lRoNdC8P?^{;BNH_ut10Jbb(eI(Y5l`{5(3!BF2?<@ zK&kSd*2{R1>TV{PdYD4t`25fOWcUW>yUKDm!)Nehj9Z5KeT%Zd&Nwi{vSBf=S~qoH zSXO~h80{QWh}P(`N+>Er%zeRJnc5wJpatPjy=I~3lCbU#R+H!Hc9Cm`6`w}EZ!sBH z=DYPVLP;nBKHF%sa(81+`3e)s)*Vrca3~%C{xJ(|NDR-YnVojUG}S0N)iukK_}V>g z{$V&M9`z`bX8^i@n-9qiv4K1by}Qy;R@mjJNwZh_k7jxPxX*kl{n3+g(c+ERnMfi^ zeDc7g0r#Jf$7N>l8}}rlBss;$>5#8!eF<whjwi18s(~&QS%yVz z?`t@*eNV{_P;>^9E7aUgi`rDLsH(1#kLYL6uPnrk;i%q@gGA)-c-S3xhb1*zT6|=5ti|OpAoH26eEjypWgcEEPFx7vR(R0&CV7I~|LDa<08xpz zP@`X@;I~HE^i?60|Iq9ifb^%9B^la?v?A*T?CPJru4MIBmIyZ2UIVRjwBJ3bmwoCY zQ;Zl^d;81vRvtGGFP|{?k_C%s0R{^dD!$#BZFVBOP61_lWBqp+Duj(y83%+$=Y0oc zZ=R84lE|AFE@vQlLjhyNAtgnnowLawq#TASMn9`n9ni29A$^R^`SSc|N8c2nUAWP{Cv`X+Q#}vujFKV&q z$N;>X2jx{bP4uMIG5KWxHYhG&4k#f6>}knr(oDhpbD0PdS@wxGQ2?2&*cPF~%a`@u z845G9)Rmw}ss1Rblz?thO`U4owMs#aSlR4u4eeM&-U55Cr%0)ytyZ#?VjddUm!j7E(o5TU_REzt#1<<5#wE4)Y~#G^}XoQgBwf??cC zoRTRxOpy|dlW74kv)cxIz`?7)AnTL<<`SCp#H1H^ewA<~?d7>XwyT&f$X|AW(W?uL zD>SVRpYuw86@*039-OeVB{YQ~y%%aEHVP~t=wxhU?C4Mng#S9+=x}mO40YK5JN{d^ zW0*qMOFz-fU4Ol``huU0%I6e#H`(`rf%C06 z<+9d!(g&pR;ZUV?UCNq&en;%4ehHMyy8E<9O%bBb-&5yh|%;9toI)wbb)#rX=H9J)) zkh8a$%hBNSmtQC|>cP${g>m_n2C0+L$l|<8;yfxLInm`o-4^x`GsknPQv}!Dg9NtA zh9!2u^Bbi4+ym1d1SBWGUFRff%i?bj$%vE8QXgb-n*4@-ufzE?GWAeQxmEV)Yr0ye z`H)v;lelW%FP*xyyVM9c0a|naHB9aO8h@%HBNbxu^wo8s;|V{e1#AEd(DtKn2hptX*c%#Necor@4390R3cyp&$~N4umMa{6 zBQ{#IlM;b`wK1pP8(&zJ^fbOS9|fx@>o8+Rn;WDOkN5a%U0O{o)3daCam$mR$;Y<6 z%(Y(Y=J{M6y8{i!Vjw)=$1I`3&379N{%09rtA^ZFa^0yXXZs&fc6zHDv13wbGyLna zx|fWx2(yjrM$x2|s`mt2N&ZuhBf6twa?hOZ(J(}q`E6PD#j76?C+mxAKh?{n+4(j^ zU?vMSDcl`%%-EtWF}lL`oLCQxkZA}fKEur*&sI~FOX8%K-{T%TPcX@R$IWJZd$Tpe zXqF1QFi_yvBXAw66{P94Z=PIVxg-)lJd?N@&2HGRH-5E!`z4uyMd-o(7 zanVAUM5wDDkJs(Z&1aCy=rcsTwk}mrRUo*JH13Al9c$eg-87ww!|6lFF(VHS!tSuH zA2@*1T}I?l8-PyM=mJAE;rY##iI3})+Gg%1B{?-h#iB3ELMy0_wwC#_)>Ghn!}|kO zK6s1}t=L_8I=%Rk-lA_=Pt|yR5mn}zuM_ZcH8$6qYVJivxSe1ElGx2qBgZ89P$bC_ zybOrXs=!xibphX$amC0OHDo;gxuNC=Ob6BStFDW3s?#_R{pS@~rv*B^@EEn4xZ`I& zT`CYm?6|KrqZoAE7KCqyLY6XcDfD*v=DBP8`G zM#Q)a@n^3a?N?_v%%-GdHdhjH?}~Qb>=C*5$Dv>$VIVE%!ic^~63}YKFa0Gw-O8*1o9s5IVET^9!4u?fU3# z-L+QnU|q6^N=sskbbLcZQc@v>T?b32OEF|*N9rGaKoyIvK7;Ca-+?0`9&_F|-$x@I z#{SsGG?+`R_J$6fg6I1d&qd3#JsgTVbI$`y{WPRydmvS4Mxq!l1tP~KD@&6Wwr(TY z<2I#T87T|9+*E@@-Rg&3sb(5Ny$Xls+05vWx2T?{1v=7OaY)*i{L!F&^W^AP2DVn4 zc;=IYza5Vq7qXul3O2<}>&42Ro7kfxfi93y(??Q#B}o8N*lALVRel()^Mdtqi&{~V znSRd7(q|=qFY?;y1urGlOEkBfWJtb;4^+)=@hjC`_W;iSQH8-!hEY@nY29B9#M0~G z;kk6|-ySrWW>3fR_ox1S2*rmhnw)1ZV0+W}%Q#e38j*1CJWK_ z=ifiQ4J#ToNRZR+mA_IY7cjxGN(G7Bk$YkfY&%&Dgmk1{D@-=~U&EO`?7;l5-I{DktY()E3#r6j}5)&`hDRq(3~MZJ*|Y_(ns0FfONtD0nM&Fh+8 z^x9%VM^&EPfCQ9{tuRAVj+8c0Q+}k z&{Is3b^j!boG56(%(bp!gM@>uBaxbc5_FQs+ZFyKT>Z?GK3Ca=^DanRO-wx~c)<5G z3iLi(aw1({Q%ihf3>(EyzTW2@*4yPNPX=uAJJPiVpad0%NfNFSPJ@gnzB8( zr-#MKix+{}O00XTzW*v!^;O*3)R(?iSbGs4q0@Yf9h z)(=FVR@Bno(^@<~b_K2!yi#DyW`ylIh~JvE{^WU4kewOi)=T3K@7d*I`tPW|0x!Zh z?WkDi_G*Nn_kF7TZHeVS*2`W;ve;AcYJ|@Cz}pt=rHvy zd$5~m%Yucck1wccerr8o^YE_^;;pK}P~UfLTbo&(b-xHNe@uc5P6 zEKzk{=XM45)xG#YJhsf0p+PIqTwV*cYy>Mx8U^&j*;=(R1*pGjW(#y|g){?D8eU!+ zV_!yBcPwSwbP%@Jb+`kR)1ieh2eEdgYo-;=x8x@f6i7_LsyA(d5OWf7Vh@`M^p5UF zYb^Jkv|Al`}% zN{WQW#M1VcjHVaD~1L>k--jCuQc zPmNw-LLQPLqs>Y7htFWl^%b`tmm9KkEx-6gi2w!A_59y7K&QSMFh`eh9Z`z zt9LNY1%rJA`8HYp%k<8K`zqV442iB*^Yq9Vrl=-Vh^`ejm1y$luau>Cb!IzP@Q(ds zUdC9q456rNln~{JZ?vnx`-o#;Gm@cwaCKj@1Ot{nY_yn1CKm|n9{&ZU7sZYoCTx_Z zLqZYma($`jxah!6I4uY+CDO};0Dd~zR46oIgTVPGT+FD^k%TofW}F@vBY$8xP&q4% z<)3tW0$m~m{{e!y72eQSq%!&dk38S_>a(7_iBE<9A^d^{)+Npo0lL$3xgF2O&KJmKW1xa`z(z|JniCLjbM4vGxP6#z@#Y0RBymic_T@EyOmA2C84%T_mn2DxvHIw1r~p`P}MZK3pQc3M4UiR7zfs3kvr_3SUa-EEE^L}q56K( z$1`H3Om^sFtLr|}>$!ClYD%ZALb1luH2+qFb8ndFt99V2_aIA{#B^0nGyPThLJxuV zd5+Tzk4 zp`*#{8Oc|%asl6@$npV`-KM-;=CgL;JuvzUs2LOLfVopLtDMxkr7lK_h?$7v>QH!x z2<6AabB|Scs!{{35tKFYTeCd-oQm5P;FAi(Yng*i?$?%(=4JYM3=Ue1i+Z{)^N{?^ zpH63Dbxx%-kE~ZjP_RKg zoz?chuJ))twqogmXLF*r{An>ROhYwo2)`_BfJ?}(GM!fyjB01W_u;D5%x9qp{los1oSMIg3@ zR<=f#|5d};rEcxG!G`pGjrkKwtE^feH5b42XXG&pmm1j>iQDMyor#^DNJI!}1f>@# z5A|u_>-ieUE0LDGdyq0QUr@i^t`>u6is(*fMUJ(JUS zcgGlnn_L{uhn)*eE3b^XRhEO@pCH=C6I578%wb5dngAYy7^NBzpiIocpfr6qhsPaa zx`E$Y?BZI3j?-LalnR(q;!rFgO%04yEIi~4!MFf}Enpd-gYq!86+)p1 zSt$(BkTsL=G7#sKf{&iBM<|&--*ir@H4w06NdE`wQ04A3g+CN8sD(fMCHDAB_!J14G3db6G}z9`Ba+*)oSJcFgpwBC5`X7NTF|4u^iuLCn6 zeS3TpW+F+^HS^0=lE}fddVD1cg?$6b0Dw>R?)W1~PV9HCC+#3PMXiaY@SQkvK;2FR zOC(XI3`if;{V7tEKYJ;$HwDY98;Z?n4bSAH-?W0GvuV0b{IjwhMvHz`woam{yN)^7 zYL_3yJu32+iJqxPipd?MdNnRuZvsc|8;V&oe)P;;&EE(EW6_C#dkX?wh&$zRwBn`^alETIJcfbq>MICQ8j|p zE-+VeU4_j_f zv$DbLA^?c;^V^_c7mkc6qIh>*n#z{sYVVFN_KJEiYAfK)h9G!t(FvmsB;w9wiRST~ zDGCtTMYGsC-3}KDLjHM#I7pPedmbpRTJ4~^nqAkm{I2;Q7xItq@w)uGkxE%L9p+F* zQ7(0CaX=?aZ%eQ5_fApWD|oC5z$f1TLVyt68#||i0O|QHx2=x{29}KxMOt;rK2Pdd zWW+uQglI@euwhxbwKCqjU3^2JPDJ&h&=uz+WMsB=FI51m2S5P}}y#IpcW*Ica#Z6QztJXo7$7ggmIDH_u7?J{`=FR z1zIw;S*%hv|Lsq8iy7s^@BVQ;Wd=iTmgpNRPCvIclB=e>>eZI z2)U#|6mh9QeK7L&44<{MjaQ?;Bl*6*!2fgPS;+IMGXEWUI)6tV{Qr7G+Zi}G{r3y{&yVf87|IW?(s$?|A}oPn zn(#&|kl6&V^7M5UsPtuvjQs(=T@=TY?QG%GUzps>b~Y@8L}JZZ4JzlxOzunD%T~2m z;qNBzrbge+(Zd_qZOww!#Z}+c)E3^O3r|EfvA916o~}sskBpXbr8t90y_)r@6W8o7 z2sO!-T8@qp=!hx7k}F@TcEON$b)y>q_3C<4hQrF@PRg&iJOi_CJkn2eZ`2N3u%BiC zHcl)oYZ_t`UqqEyU!!CxFpX(qfm0+Ee;TY>XgrJ_XNQ_l27714iv$mj$WH%yp9w0r zD0I9nMZy7&D|L8I3z6^F^V<^VVt2FUS>JxLF5u+Cbt>L_q%Hy1bo#wQ;dlCt{^EJ* z;~R6{YYa5Ed+tT4$>bUbJnhe4XP)8!EF1$C7(X8)-A{{Lj!yi0(&}ty`B?EE$JuHW zTZc@BVN7akJ_Gb;>KBb#3&jB6)X8Cl@J3-z&x%ns2<1&D?Z8+!lOOP$=56$USl7I)vXP*dbf)nXzJ7dw3ww360m1vDCbs zXq)A*eC8YT;X1%#nDd>Y5lVI2D`I-2SY9|>b(!1Hc)&851fjlc4lSlxo-_>9g}JOA z&b=#O{38h(CQ(0mA>x!$+9=nK@{?!gF8xCyQaiO-G`Y$^#D5$@9y6e*{#WFY22Pg# z(oo@k&7#WYgaH-oVtBQILY@0UJf9k2>hFR(jHR+h?R)A;jpp1}h5V2;qY?;&DEPOB zE(QkqU=fv=0;~J*(@BP}(v46uhg;5)NOn?GCFQ?+A)S62Je4*XwmO9sWC4mfomCIq zanYIT$%V&fW76?_X?sQHhqE*-jSW}!my0JMv81_0e_-1YC1R@3;=P7Vp<-X}uf29y zUqobo)gfr7Kk=~3Uq?;+(LGp7h&T#kS3;AbnjI>_j)dS;D~vCs?nfBX zXE&S?)ScbazDFp~Ix{?yQNeiBw6Ts8mW*19`Ck=_!{?gL4UaeA(4>N-ZqYUHfh&9o zLXWybz#RPV)eE{-jB1 z0kovfoFmcBsJ0EmcwlA($3H8SUs7?kFtDDpKW^{e=Q_RsrD+AeFz>c?1F+v(19v9v z06~EWPjK47(RI`^ZW+Oh3+nk>Aa<8V|GFsH1>ot6xF-OUlaenEMzE(}Xjf_>Ect zajG2P)W&$WOS^5|U1?$6B*1twjasnld7AiSyn146%F%w^X%*w~5G~?!4u29LR?iP zM&x5dQHH2Qsu9COn+Zm*$XX5p%qR+*5!KdADz%dBdK+zj_%XiF#2UvVechljHv>Tt)? z2KMAbIp%m_p9-pwuEnI%?S6FbzxTlosE+4vVXF>#v_f5gbU|4y$>aW2{ehPasDD-&O{uTF25T{mkC)<}E$&v?@RT2pPBrPt$^Y1lLiwWeLZ zSIHnkyqtU1hYlTrF8#mwpPsVNA(g)bCI4S&HTHj;-0s%KCRV0awuS~){|#_)rLOaf z;6w5LMex~GvWO}mu*qehS;o=GfAN1$y^2i@GU(E!L@QHwdybNmmp8xNq%kGN?22Ag5V3I= zU`8}sDmpkY;zC1-Oy{xx$BNuh@)w<>bi~KZ`s+0#FB{-1n`Y-{LhC{M(Ny9yD4cATW_Cmr0$%n>CLD zhskM)%NT@4eK~4@!>(SPY)_{B=v-yH^L`w-x0i(agVFe}tygKrlm6I=Cg?oI4db6N zY|Ns|N{UWHtx08lQ)PcF$qszHP{fYZE4_>t#{C-}>iCfUAi#8!tT60m-bh|G#UeC? z0*lZSnb9f)kdMSV_6pK@(Rmu&I)Qc2>_(aM{m{rX|9HfCPkzP?vZF%<6 z1OTK^VB5PQuQhCY4{<(U7er4SdNW4Ul#IGMx>(7nOG2n**?@Wz0OnWy7|YWq+(^Xn zG?L@c)XEDMyp51Sdwg@;Jtm}R;9yij&z*!wpBHhjFL93=sYj)UgrLdAsd~Zm!1-eD zzhZ;pw!k~?=ti4k5KZO{4*6o6el_w{_lt8^LlLBx&rwp&eq{{g%yG2;^rG106SZbT zXNKM3K}ZFL4M;dW&LYL*;*Pm)_!Wvw5CET!1S56&05gm6>ww(BnPY(r3gr&8;nhJk z5)w%^%)xQ^Y}rwuvx34BV_RkzMHFlTj4fC{vtqDl+Y=mYMqKc`f&rfue5%>~^U1Tf zHM;p9Koz_C*Evc{;odMSb`0Cs>+H9?FS=}c98Zhfxidkdk}rc~2n=0Wm5araaU8~5 zB5rPqo02~{qKSHvrFUJ^p`Fa+rwkp7G%E>k1v%k*%NdlpTpv_+oSqvRQCWbwUg8w{ z)xQZ+YX*>R(mVqLPHObPal+k&TyZD-XvD0C{AWGeGgnony<6Rx+*owaQK;qAG9|LK zPNf|dI8$}eC6Low;d)%gO{^qZ$=c;oQ1&=75gC(-{TQCn$>m92%cG9Bn`F73pA4xu zUqCJB?Acqk zl;)efpbp5|NFT9CshVbP{nZLpjvIY?%Yn&Lm~*~^nf&Tp*3!Bf0`Res`CIs1=-X{G zcOP4-tNVKgCmXp&{Vv~Q-Nkl~HcX7aMj>S5bhcV7c62ODui3ce&}`rWqO(J|QeOyi z8tUDTYM$slR|nAQPVVX?@sDJ59K{PX)oA)^V$+n&_Z zLyK8uCyK38Ox_Bt+Fo$Bdd(_j)-V02-W0&Uqquq+e`O&nXUf>3FQq;w9WFf!Kc=!O z%jt)HPN#dDE6x5wiq&gkXk)z-)*ochA6u$z7M{@KQbx@=>D@Lojh(gd-KCc6AN8`B z@zpI^ad28K1B4;bPYk`cX1pRI?+wN9xNa-MY)A)BB1XXaR>v3Ng*a5~64`3S^WV4D zbDaie{+ z7fjwf@{Wdud{R{_db30X!b@w;_UhL_2spb zRyA5DwpVN5-oVip@UC^s#`>23RyMos?*2Z|@JGT8(wmGW4D?9!D`i%0?m!!GeuKU@ zG4f`-ZFJ;AjU%9K20Z}Qi@|gr!JlwYa)?(cfypIqJ9mr*1~5KQ@b9;8I5UKw_%(`y z!oyq8O*n3!(|Xc@pZ-=@#t1y$_IEd4u9pLypOn#7|m88Wo7GauCR1{`7`k=b;JAyUb%8hmwa(Y43o@8S_Sf z#7d@E2OM~gZ-$tRgbLt?m?DU=Akiuwz;Y78OpPXE#KtXqyzgY%z^+>)>s$GX#fOV1 z@epSiCcSZt`g++z36E(EPHZx5O!G$d2jD^pib)~-+dSGnTw5qZsoLvX$l|YbVa^!b zdXnr|F5{GkJ{-~qE;bv_paoH!`4YtYAbz_-dHK16XV=rd8T5mX*K&ZBVFsNPJnW;= zt|wQ;$TJ`4Z#SN7OD*-tQ|j8?)SV@*&-4OYt$-EcwpG#VaZ}aHCM?ouVHp0`s5Xbv zo|@Il9vck?RZZA|om{i+@{H>i6K$dZ1U)Eq@(o5p22sQ#(I)!&XGCoT$2^cc1-WE` zvtT=aU9i=Bcv1}&A)q1ucq-{(NP|Z^5|+(bV}UG=0(!tpUxzY=M6pPk0uo}+U31k3 z*cOTf0a6mISYY0X?<6){N%yy?J5H6zAr0Q1f zjI&VlL*xV}|A-pr{BzYZ_Ay#e-paupr{Om4D|!U*=9phjj()J9C%2uK^-FS%>>Ps z6UUmL>PYXKYPvKz&} zuFS(TaGQt^6j0bHXo{@J?@a($Kw)>y%ou?#jquM%ncv8_kLWEi!px^K_(=Qye4txB z(j2Ls%tQT&p`@suW=aX6Cth?8#m#}2?Li_VtF+3FSza#jfp(BaKbA&9-12aNB|(}O z+0K!gcBn_n`!jx`wDdgm_-ZE$b(6o{adT!ms!LTLr|(p-KxK!xI%qcR{^3;S80HYV zu2h>Q@ioz0g%rb@fevA4~o~`zZLM3Ts1C!KBkl!p?gUB09i)s1i z5>9O7eGeR7(Z$ltPsc;cs=BKNE5KtcQb$z__|lri0N`JrC1{Lvx7abTMV>r+tBG^G zQ_R2E9o(j<@ki$EiYZEn#pa0WUUt#Aj!xCTW1w~X>7YxTiTfgx{Lawu5y4EOgtA;$ z@H6v-H~0{Z<%N`rAKsE=<&LG$DH}PGR(92S8c=eSrDlIqS9(f!h3ycBl)|C*SO2Ee z7mtbFU9iTV>3?i9EmXFm2Sk<&pNXU-4wa5f4w33luMFv40!72|8dkZDYr(kr4J9uS z(5ihxx@DHHDykiEmG`MD?CKHU{qWNL#)yTG=CNX|%;KxbQDTKi!2e$HGWPCBp=ArN z)dnhNOQA6hiF23MFA{DZMKK34Hg|TmbNf-B6-fH*b;v}P0TRxe=XxWRO*K5TPT~V} zHA|uDNBYF8jNng#$NEJoDr5m5jxkGo*08?ez860p?4w1xh2;%Uc##4u+uLz+2F)z5 z?o5Xl1B%~EY{aqP*>?k$oK;Erdie9q4ObWytc>ra2`q92z|DgW;B9u)9yJlyb#j94 z#z~~t#a?z$?UFE+QVmVqdc|;^=xKQv<1#KFt5{I%!#fXSV*q}|E9 zv#a0=46UbRt>S)QI`qcwQ#Zb4E}FhzHOND?kt-^2ze4<;;xztnFWd^NU^#a7usGg< zNM!LflBw4X1&MwMuk})M88)9Ta|96>+W3t@{K%kx)y-u&?eC7JU9y`H&)$3p@TRAw zPp#vpHjX?7N%65qyskV9nKE67df@ZtzuX~vu-|3H;nL~VEFefIH(S`>2ceN`HJTwz z;LgCCx+3O+SONBcCpvNY_y6s~n}HLq^EGxe7nXdy6htb-QN1XNwHmHMsBcA_EMwo*&-y zbop!`qZ-#0puhJWdKfvhmRnH}HAk$qXf3h&XTJm9&o9#mbP{ae#e{H^epj46ogWMs z{YO)*pA0zKI&k0vdagD#aM8;CvkmsE`13aei|7DvFJNpii=5rx6@s{>vE(uOu7X6v ztCEt!SJC2&J1%1f&jF^A^yyAf-drZF1GDLBsTqRzMY7(hPNt~eOyY^jlIZ7X;+Ua@Hr83{{7`jefGcl z(Q(JNqxp@k`g3lJiI0SjXw%r5Y5$a$r9{Ff5$~Hg*tg8xGt3jW*GJTDvG{(5^q%2j zQ5}O3?6(GYm>q7#$szh%c2gvM-p@;;h3il{qRZ3QL7$MaKTG3@BTa9qGWa|E1YX)) z(<%6H)$Tyl;GX$0pOSiHq-hynt2JTocm~%aNuh^pT>VSw5O^ev(93DDiV`UKS*%sZ zax@%j-(?n6XvuIFTr5c5ZHJuDlgfSz;(4!ba-p8MSh6czB(Z+ALUExPE_CPOIXHat zgoMzNfpPAhk22S>k~}B#tCN3JA^h50$f)tYO`7dKd&S5#XQFm1{r8s0rvKAK^Gg5zwEkzjUW=zT?~~d|(Tq{!;$C+3Y_?VcO-O<3&%*gH`MUB> zhW%i4a#|wUxDU5VG1uDy$hk(MaAsgbUPNRf_qaQ9<2MA77XgP-K?;;f5fVfCK1x@4 zf_Q5fDY-;&dNh6V7YELcPy)ei`B51DDbUv(q;dPPQTWM$7ot|_Y8`@7bDEQ~MyLV} z3iavZkf^6yFHEwq5{aP=kUNkdZpXe1H^_f-+DGNN*SABWJ}Cnn2y7yPC7@<=#7OS> z^8&X5-<-;Us5oOLm!|znyyQeE#&ztXB6m}%527?lP{u{(Nc0+1_u^;R#2sP9^0jj? z3HsCbhV^lb_x~SZ?-<@`*X3!)wr$(CZQHi(e{5E4t750(RP3Z;+eyWm+;2}G?>x_R z_k6y-p2vBuz4uzb<+^%FN-V_Za}N&Pje279qv*2aNQ}$?i6&jxnB{f<-NtFb7N)q~ zyD_NiUTr7TCmQ8C$&Iu@RT?+~r_Fs4ucOX4c8;VQDo&5gDhm@t0>cLcSh;5^?rT}_ zBx5ShW!#8kx9KL?_tkxIMDfG)!ki+;*YtN+jgXRZkqQ(Rn`$A1W!pyd-Z|N=lW(19S2*!o?vOh1RcDYX?ltuSL(5#lyyhS(c7mn5dVbj)qwAkdAJq=G zczPc?e`R5kt+2!E8&_GQenfGl-?ju(25t@vYY{)YmN67k5P+urSuX*cbE%aY6v4<} zA5tWmAjp*v(V`lqpH=@YLdV)j=5BirZYoBc0Iz+qdtj3^vyYLWhd__{R8u4gZWn6i zHmqTNEtci{r9$3{H@;8d43m~uJJ+h3j0K_ zRZ26k6Z9IP2Y-)ssm5gl!mg?-WiEYhpHt4&WFi?x;USQZYcfKoT~)vLZO|xF^sjF0 zw6ePE{cK~0#cU*0p#P!=_~P?w=9VDSb{QQS^|jhNt>x!hI3LWk!|5tZxFefO<{Ik3 z`#M#XLRMwiW++%u{px@Xf%=f0PUXw6pELD;KG%jUL4YknwDm77F9OS=S!r+4gMtoL z5@Xe?b!vEpbTd>Vuts?B;)ndSZo33LoE7;~WEl5v4B9 zXERR8Xm75Y-36~HN^Y6aYMas2z+Z2|Y_zw~K)M*%Q5b0k;_%5Dc#y4xbw-4upz;fO z;ID#)1c|ip!z8=zj(kpxq+vO@b?hr1M}3e}-SI_ELNfYe(vUAU(GhpV%MHw^h|I8N zFrUEzHav=eAJ?zlDq+dX1Z6GFKD^2G-Qf5-`Ad0dnTN6FXuz>GB z&Hk?Qm_6o;TKtNR-J-{tz0fR(`T(8Z&WNF02wa0vee8E_M1)%%f(czq^id*xK=S^e ztbbN_j?l?rFEP)9T{)ugG)Gip&>31&Ix=|9|BJDrbi$-bMT#3{%&?a~G^oT;+Y2L$ z1fiK-P$mfZ_jr~$tRL`(yTTUgl8rgVpqZKmQY`#OcZ|BYCQvq-n|6^?tab*UWp6wc zV&*7l3yXuLy3yBBW41(c-##PunA3JWwB&$1%1zqv*o6_OpU{9WGJue14kQ zgIPlHK{N`sy*co}HlAlCw%K+ZSlJ_am#DE3bh#??Fwe%Vql$N)0>64&Na?mq$&gri`Cd+Fti8+)$=J02-K`pR7MV6y_ z@AWQkCPDF{y9k zE$m!!b##uA<>nNK>j!w!U^f=9&SGKpm3X_8Kcj|(Ljy-;yMGOaA;|6Q%$Dn(ThO-q z3d7gpMu1f0sT@s+Z+^&|&T0FyC!?tUew4EzH_aE)5KV9zs#$NOS$H3e63#*j750+m?v}@PC8pUTjUs&p!M-?W&jxtz>C9bpg z%1TWoT>Ie7DY`|}FlmoUC%3U_u!#K-JuEt(ONHl4i7J!7kS;Yz4-!ef;}fmD_4i+y zTeAG7@2{p{Jg&?h8!T>AFu!_AiI%wB=crug3=GiP=XxhMJ1NhTXZxNaI(t6@UjA*m z;Pa8VU<)1yXq*WM2;*NLZ2uqE)>Akit_u>6Pm>3MT4JH}E9s_?JbFUSz;a{g$#QlG zYuUKENy`lo+Ab|9QE!7Emrq-|watxWqe48c({gr~z5d&VU26f~{SStp<58Oca=d@o`CWNV@JtrhCf~|F5Jd9f37_rpZ=M>P;OeDtR1@zLAe})T#iiw(Kz#m*Iju)&rkMlYD`m8Z2yKj{ztE_RC)v=aPT*O5NOL4Y1WhRhhG$h% zgte?qmVeN&a7&^<7Zm<63$K#U1h@w7vb%!RLpowUj@{;&K!*eJR|3hFWJZ4S+ItQL z6Wxpp6wJ=?<8he3T=7dqufyBzlB*dU>JaxQUiA(uyBR!}E1#jC@BvOgR-j^8;sFLt z3B5%nh}r+>`C1O_n|OS3xdzS;L9BX%)0kKFJS2m)VDk4T@l+2Qa~PraK;NpTj#|HWDk){ z0PIzC-6K#3HV9`0xoELh_Rs4^cJNo_|o*?DUZ8w@W;G&z78QymJN z;BehnvK-?J?V2u)Z;%b!6^yG}PJugtge?hSxtk?HJl;1ZjX5b^-0SY3O_k?>_{*b; zC4s+OsfPul84qlVLv1WhF#VB-P-{pM>!ICB@mERENhiSRw=!9CMTvl}!=2g(o_Q^D zOhz5Pc<>>!|8=4+X<1*XI(!SdDs*NaUiGJDdknT&G>$y8=;PMy?on7-cd7>Ss^S8pOjj;;lpUhzi}o4XvwgCIY4RUR#H z8fz-Fec9W8vaK-*DK zV4`G(gO_p_K!N-TdsW7)0M)mZ?C&SitG*V|{P>g?yk9r~nk9xJ%4WaE$Sn^{ob&Vc z7tZfOyKwcHEQO`tZazfICVAlwxX%ZXrS=|%0w1SNJLI91>D;+AWL%I?Hak<6E~29d z8rA~@t1ul8bgY}eR3}0uv;<$P64lv35EuAGqWE5OtfyMpN;~X4M8OArf5Ys|lTw-h zGgvgI5 z=EGqF_2Rc?M`9Q?$6kf$8x6o$PnIR0Xo3wTjkc9fa(@xqDmJkthvM~ps!)eRk~o&M z!uC`OHp<7>*g<1wd#;lt?BdrXS*BC?+S$Otv948pjEx=E7ek*Ker`Ab4{5RkaqvqK zlI+rW5D{a@+oap501umR9y%s9R5eBen_cWhBU|Lc;eKc&X~@~IZRPahCP8M{(cRkG zUH)Wf^2KPiI+f%WkI5AR_?GN8o^61dZ0b8bv04a7E^~|*invQ>#@|hn-v_A?Qxj>| zmANP~rWQ#@nsBY>Eu^AAIE}A*Kuz^BP0=HPq^NeIgL(Gy21QZD=^F&mfxC?udKse_$;pgKq*rY&_Wo{sa0aU&0`tTH<= zuwpiWYeWRgnP$kYSfohW?28>MB+9c{OOeBkqBajO00Yfrb?Zm0;T<+-1qPK8GE$Lc z+`~ylMlAf>A^d;CWN%6Z{6IS`07WFci6N7#P-{hJXAp4D!oacNdr_y$R2Qa7AxZ39;D@d&(6>3wR*?i)o{3c!k1Ne8d4wcs-gxxE9!C-qb0DPsV880|1)I;Hg@eG2 zipi0>?c3BYnmg@g&1(zHm+5F=#1|qB1aa73{nu*d)<4cK&aH&T`}3aO4T~odGRjkw z8zM$~J(R>f%CFe}R1H+Kc4D6mVk%wXWI5wFl-x?{l&biHrl|~jYjDQkwD#=2eUc<; z9+?5ZF)4W##Yb%ZF6M71j7HCMX{=^{qX)cXFdM=Uw1KfwDBN)KzP#WkHnkyN=>tVw zheS~E13ii-*9+P`>E5Af$dwG!b<6ss3CjE|*LoJQs6j$0b0BSldb1eo*$R7~rSzpzG|h zC0;vYkL?MEFl(Y2K_+8kOa+gZ$-nEY*%5YPZp8N0X{ThU!eF)={|kb#Z=3m3h-$2P zN0Ee&>>xCR{1`?eCh|At8cPJ0j{ewaao>IehijXNi_gUG`{VP@OgU~OmI`!!x=TJP z<3`!T<|RjWWm0{Us%juN@pjSm7!AH5@nI&J1o0bWkb`2R6fWiHVHp?-6%U1gP#0*m zxU~W=`=V5bXBsEHx(CE$XnUb>`j0Q?f;eB~`%7SnLd>!W4yYp48EfAk@6N5~=l9B4 zLU-ek89P(}K=#-buE z$nWcFU@r>C^q7`dDa!QGE_+^f!vvodPP1ooOoI)-UVGFdHBqwPX=B(4m`b^TQoR1r zr))jQsCaA3lN%Q>TkeUY32ewQ_vz*0?cwuio14BUL;5y{K@p?Jw{`KJSGR=N|I4F5Tc@p85TgWWTT zKl!g0zwcm0?vuQa2ZM7cakG0h7+=t=g!a_k!sbCd{mWhSsK{-YK3Iu zTCzcS>1H=R{;55%&SlXlzaL7+4$V5Wah_>4J`&TX1WU8#t6u66uNq8}w6hI?&*Nv}zM%j;)^aof|E%xbTCsST%un=&1ZlEyB0ezT8I%ro0 z*gZi|fI2c{RZ)1aLexojx5D4i>?c!NEH7^*Y0v-5TuXA;xv! z&eWgGa{9v8rK4G{>mvN^_q;j7xneR#^wq;_;?XS9e^Q8g=%cw=2)PT|R-{+;nGkkI z^p9mUZMdd-T%5v$JIrmJD^GdCyp}NKx&CA#=;6Um7}@q1mNz&WM`{cPH~XUc)n_2ItdH>+*A@nHu_?R>oK>5pt5N z@2L%o!@enB=sFUo6ciWVK?{+SP3p;8qZ{_{bIU@KL9xxLH!cwrRwiD~I8^`@!99wB zW}pO&Ld>%Odn?YO9W<-BYYvYXC(RZbpT2FQ54k9gQ_}IWwY9L6b1+`(#)#bb?(o%w za(ZQe1J{sI4HGn0B1@$7%3+`{MEP=BxYoXTio2kmkjr61ORKVVRdZNXV?h$ML*XuXpV~26LH=aR!u2> zBez3zumy@&thrB(uG5DC01v@x_0^!)bS%a->x`+TZ9H~fc{<@}P=jjbG>*B$lYoaa zWtD52T`)sV`q@#(p&!(;GQA{^_UY2&_70>NHHA;_(HP0Q(?Nogp4x*Oh9nQ7#T8aT8h{fVDY8Nc z6{)1k3nj`h5`1lhc_$^_m?%0F-@!;wK9f31l@^RJ(qtFj_{2rm1Zsg1=L&seNQ8`LG~dk? zU&vZb#2Ax%Q-)fF1n3nA<_A&_nH$;d?~MkLrPSGy>*?l~1$8;ZX#GDn#`y}`ah=`L zyxP0}b`573VZCSebJ5?PbrnV))Ka&{DN8@Cm&N}$inoD;Vu}g**#TM=3J8_-|3JgV zr(CfrRYZD5j;Sz5I}=}Cv8i=Js=je)|0$}e^WBD6Qtl2LUs5DlP_JHbdEeH6>r!q} zlz|~H#Q&B03-`BJrq|z7Ih%^eJURIs#|mT?@1%C%Os?)3tE0*jF+zelB2=`s<2t?9 zOgMdCDAbjECaV7yU=qXc1UYZJ*zqfY1bP3dMo=_??22z7c-$bQN>}PZLlWd+5<$ZG7rALgY55qQceCKxWOMb zcvaZFy$W4D_SI&0VIo;~$)9t1|ty>HqS+!(=>D+zhF_nvB%tUvU&fy=w`NfteKYALy6JTn$>^u5{?Mo;vb~`Sh0eZvTRi2IzC$&Q1CC zv9N$U5HmlHLWILmOr@mvvx#9o^pN?-dlAxEj)nx2;1z`n)OsazOB6 zrfL7N*m}LfVm)Ohxz>%EU{BG`j@c+(%;6dR_NnOfD9H6jnezd;^@YFn1wI`RZukjq z8K`Bzvi${T`2}bS>|6b{`?0BaUyT-bu1z>SZnM8}X?#x)3%n z!3^;}V^q)eVU98^Bh@*&Lbtg?YiL%bks3x0_ZA1lgXUU7YK{Nd7zJci{jx?H40}PY z8Q0Bzxr>X#)po5RD7@c{G?;ZRJabqcJfw(k=L8oNqA-s1D`UcLlmdGXi?|=L(TLK@ z9`h9aL{oi?g#Y;tBTV!bIS+ldZ*eW;V~O zOTD+0i4R^qB5JWu?;I0cak@0ByZ-Tkd6c(yh*=ck1d6xzUY6NI^1c!|oxS<|k-s@> zj|5rnhj_-Fv5Xx6RO|PgVwa^_lcD7`Quo?c|g~|je06JS< zKbO9Q`GiC^o&dP6^{UD6iLa!AewWNQs>-A!^EB_u@X76IvSi7MZKv(?low0yfuSBq zP`7sE45p@zFAzaeQj$sMO_7No-T{Tvo2?dEPLDCF%gM_NDuO}mDvTQ<9%?vJe#;&Y zzjcGu%isfu#ZbSa)3m@9BeoxY@L2#rSEg{YM`fxEaf_vg^%sJuyn#EWP58IU%?6YM zS3UJTab)5mfGyHN6v7k_m;(AVG)B*PnkefibI-K4ZYZiC^T0UV<~zxll*NzJRW*IJ zGP}3E9}%~lg$`vmY-rCFjN0XP6*MW#n$B_{yh!)AWy(eur4F1Dp;xUWoz{nQuakbItod>|#+kUye^^TQ5o7 z=#C^R_Si(1Hjv63LNJ7w=C97i1FH#}f1gEP<)5@a7dW3D{^XAGKf;UhWEA_HM*g0m zc1f}nH-x5P*KR>g)`^o~?3kiFNv9_H;UnEA?!eZ$xZY|UHYuqjkUiUOmVZxV98e5x zGL=Xz?R^??a1B6Q7l{EJ(otU*q>Iz-in$2S7h%M>uyJvJ zJv49Q#MbcGsM!Rl$4_s4H{>)=OQbI*W}~xjyvo40Nlay}&UbMk`X^TN>+7YO;V8sB)+nYKb$#T%xJ!?Qy0ljonK-jL+( z#zay}7E9-~zuw^$Ef#wzR3`LtgeEO0tk~1*6N`S2^i}9?Nv@TpMAJv#$i7)t4rmawYJgI-4$9 z=xB^lWy?j75SEgo)+$>%O|Z<_NHAw5Hz^NJR|2?@a*i=IKNuF(1g!;1H*ztYbGr#Z zd1D+xBTHM&T!6^$sWdJ$HGjV{#ojUD5hOM_*Sitr`<$RzymARs%ZKW~GZ0BUG+>2^ zn1(^7yj40&2$BfgD@J#OiMJ#|irU(}4p^Y4z?E&EO?L>h0H1 zJ?b#vm=VyxsalI zwN+_Bb#PCJByEzmTaT__zZN3i?*T?rE6d*V0z^`{FlZyB6+#PGGpX*t6JBN1?+=|C zx{y7x$Ym9<{+NhJ6M2W4=>UL4>BKP@#A(bjd4vzg+z_7v$30li^A}2HX4GT)PBFYe zyb9`?{0STI`6NX*+2o@w)50H_gU39HIx?d7zdMY|a(9uwsc_VydR42Z=ftVNrB)(d zw0p|;@%-IC0lIa>CAL_kT6e2x!0Q7@Vp_>ow&3Z1Mpaik_v}ME;^R1O49|l^*l0$J zQi~itj?;}l1%6*K`E?Q48wHh=ae)d*=rYE<0Eq!DOdRt~tH}&S*naQrOhtKOw~VI7ou<>O!3a2ONdh|hvXDVIkhmJ8QcR7_D_`*^M)?8cd6ru% zwT&v|q$=jqg#BoND@0?5RF;}}g$WrtGu%Smpk_M%MQ$E~w`tCdv%|WJ?`u>8wFk9i z*3YQdY<>mjr58kl9MeM5ZXLnTF?`v&oovsMnXjsJ;gR9`{h9nrPS|>#9S!=0nl%u92YS(n!!x zk0{~cfXSYI5!L-RdrlX_CI@yd_jL=GuG5X}{d z#kHYm-Z82Vz{Mj6`r*wg0To_FMLr8*sPpK zmkFYrYI9@NN&V{AXCFXY26`dFG`&}bH1dZ(hl)@5(v`>9mOEC*2+_YM0wg1$dEM56 z0!L6OliBg-73OuxB(wKpv{P+{QqKngP7To=abi6y;@kn&*CA1&oftpj!O2;cd|{nB zn`3~|9<8>fb0#<5?22tvH^c&=$^fwM4=WJ49S&*;>;ie+)fOsIeJ%}<+l;MHaP*SAer5jLL6f8JENo9RWVQ$)8W7~dBH&un2dm7&fEOCS4!*Ki_8XK*YWe=%BH&f z93r}+MM?d0z2c@59Fr*P-nq;NctHjX5RI&^AZ&Ul=RfgHr81R6#ghV$d#A-$L*&2L z`e4RN?AEjFhG5#Bveec~)j}2!8edj^@Pk=fXiPP$3NFNRpbCEO=&5AM%eNIPmeVwx zA&C@%t#A+2A#kMim`5rh zU7R5~74?7@fgi8xLeVwr%iTkR=TdkReb_C`AbecR&*YUdhr_;kwrI*GbG>Ngk$#wR zlL9Cdu&;FP<<)-`dOlt?3kDJJEWHVTVLd^GUUxmB zVwxlq8+~jB86G-waGHN?Zf^TNPZ>hT5=L)^5Jvj9uj$TV^uUkoA$$oa2xx1>JmJEU z<&u--iYMDM4V!gu>zr(B54e2iBi3jGN*w7~c35Lb&tHLg(=|p@^z@XvEbm}#BJu;n z(@WiZ7`AvH8y-I`!oeu6C^y_j5LyGGKohQLK{g_F(l@N5=W*oSM+Yh|JEW^>O&H>G z>Oyb#Wc#l0AM}wX!dGhnk2LKcNSG-Z6#!Sy-yPp+!eUSp)x}MKzOgS;;Ng$djRG#& zL4O~-v^FY1x44tG{Q=zo6utE?#r9}jCcrA{7xm6H|55?_3w^{OBWVCe5bwlyot;3q zsi7A?&f8|w{b9ss0exG4KLgHF#bef~(DF5Y*CbEkAly)q;+es>Je4!R`zAQAwX`zz z^>2AUY3v6~wje-2zrQno(Eg(^=Q6Z#bg?&fV=!@a{BPqTYE=Vm*O`#M&(PO5%Z(h+ z4aw>K1@Z&)Q^ol9)UrISX$@5IC^1|ri3d1O3)g0x=TMteq#=K9H&1&!fAQ36z#iWo z!b|M$9y6abEm#A92aEyh2DuW)944^Fn&WDS0Ap&M)-`D(^Aem6li5l4zv=6`wgF_bTM~-t`Y2GL{wl& zIq9=R6NJ&y15;!X)aT`Tv$ejQ_1lQ|+uDhls$RY3@GN1MxpuKFlfrkuE zp}K-`aALiE@756L4ZGpm{!El`b4>*^Pk~T!%LNC5LbE(CIqY4rvQ44%*TMk9G{jkt zL52i_N(8Gz&UeuGPQUH+b3dQuo58MC*2L#U?EsT3asb3~03F&9-%NKi{32&A;T9|m@;I%M z$>aEXUt9qnA3~wk1DH{Xexs#&?)gBBgXr>|1xe+jq#y*bhPcAvX zdYe2OsFTx`HV`9vbN%m+rsQa&N%Rovu9@&21QUb;b!(~MkRaaPP9A))6q^-R>|!%H zWUmxvPu*sBmHenXeGko>I@iwKb-E)yG8D1G`l*mp3;jf`t2LPh%q3P+m?D=4PEaIq z|7y$FmS%BE$(5v4I5f+K^^+>H8fQ|*F*H8#R3S;lctoj4!1X>lUe!U0{&f`G3*h3q zMuZ$p`33!cENnfN2CArquUP{|K!yspf80*` zNC4?I8jpL!0abUlPiRb(mZl0!Qwx)4PE)ru>V;%C{TcKO?vFpWa)#cYm3BQ?uxeN2 z7P{7EeHt|W2>Z*bxA&4zgo5Ev1A}aPDF;t3p~h-UeSa}pl=I5NCmoI zvh9O$?*WUsnaM{Q{>CcPg`IQ2zoixsL1!78eq-G7UwGHl-1>j;uCC)66Iwt*>eo%2 z4ed`89u8|2**U9h1d28F(5s><6bh`LP#lf9607yw&MM2$?yBs&3ds`yHKzH7Y{!55lxp@v{zXb4N;knqYI4;tH1*8ZMXw?c9WpU`(D3si$<@-@b~Kx8xFv7J3&5y zr166HVBfZQUmkr75{0`Tn#Df-Vkv7>Rsd6TkyN8Btlv55p@p|S3Wh*!ra0zm%E;}m zRsCMGZ|9zqZT39y0(stkHH0_N9S?#+eKaq9=>OC0ZlU(*Kf0BxcO^ZBjZpp8t>A5x zB1-Lr3PGO?I&3q7Zo~z)60f?rs*q}4RV9_>Tcco+#juEWR?#P1heDF`Va4B1)+3n8 zQqFjL;oP!jMuY|f=oq<9@aLg3GIx@(LbhNmQ7-OAa8C_boHhF<+zQCGAHEcIE^;r? z5D?8k={uVuRoth|XB`$AlgrHi2Gp@EK{@kpP`myM-&)u?I=cM#zPr~D3xU+h`Vmm}^Dn}aVD;84oVnu5*21rsI5CmFzq;sWQsN{)8kQCzWrgN7< zV!JjkAZ+AuUB7FCcxc09bD`d!VAn?~Q&NZx<}A`o7y_F@mN2S$6b5S$XAufdgkYsm zhv-zy-n;)u^*iQDso4kYAE~BP`S9EqAri@YqatI@NYz7zL}|QDuLn@%ATk2(>LK~u zUG>@Cd^OfFgxHVw<*E^z$TOgeiI?*_`g1dlEfJ3~|Ft%#O3Il2N2))+Sw;P~+Tc4_ z`oAaD_8+JIL+Wnq|LxSmf1GN9Y-h$B*J$|bTMyT~ z1|3>ptxWuXI7K^&XuwtyV}HB#di&;dK^zA|~7%pP@n|rEQIbcMO zxG8o255}Uk#L6DhdFjvJrLujL8s(X&*1)CELs$dUiIf}K^j6kwF`GjCvm+a<&gw?v z8O;m@px>OLR34Q?{Bg-F`vFDhP~Zx{o>5`62YnE=e0vHJ3A=+y{n2~F;Y3=2kRVE> z!w-UGjd>xh&Y$Z$=LTl`&(9ySgb*jB@|)B8cRemg1DL~W2tL;+hM14d>PvK?mYo#6 zYQ%f;4C-Qv<-G610sY`K!oPD`$Tk5g`OT^RH>WuN!6~<)g}Z~Po3*2ZD}%9%i-on_ ze_H~Ss>wU92_g09-UWIAU~BrQs3<|wH5SzoqtMZ5l!?PIwIaz)b-T_*7+x-O^)p0L zl^#qlLOqYaw}D|lVVOSTZ3>#O92%AtnAVT_A@;7=k-&+PiBu|Dr?;#@yS1o@o6qYZ zFySFEqx~K>h{p+AMJe-zU>h)2472KGB>L**^iM{+$p{=juuD)A-6;^$mJvU(FEoM@ z#L$L_*@i8iH?5BA2x2(oL3a}j@an#4fYQT??_QHls}n99YI?9sNyEicxd)?X?ci|Z zDeR4@Nyh(egsJ6<+rc5nCGi8&X@P2Y*OU%56=oHrq^G#32lQ`_9Z@pH` z-0o$ymn7D{jb!b3+=#?ki;TY52!w_&Dp3@w8?vFt0(+w(O+clKzB>)?-*WNDy#xpN zix2R(axnUJ=A6HO&NGAA&y2=0TwB{0m-kIuE_rPg831e6F>aQleUE&LZrj3orsubX zikXg7xxCrw{yx9fHzK>01hS>v1 zWBXX@8z<+Kn%J5)plg15lor*%;m}I!N(tsd=*aHbtV-A(oOm}mvwB{}4yA`X260OC zmea_dd@URCyLWA#-{1e+J%E|!wd(gE3XtMAlK(qB^1ndR^uJSRsha*j3ibakOPw$t zfiR#=63|FGw9Dkrs%)5|Dn+8C;l#!vqf=V^R~@%oNMYQ}*CGg$|2%EfyC$%j#O|7U zxkkK%1ZoGh79%&&|Iw(2+HJJQ^qwUgQo8J{Tce;o1Y0;oQw>%@b2&n?5-k|w zC&3HkK@sq&XHJW|2tB}s`Ym9o=;GM7@S?_(w&n;@YK{qSJ1#vhH9P1lA$jV zk%0$m1gpNyo_IonIE|)~H6^(rsx_W}NEi;Y|HY2q-cM2@z=2JaL!x#&v}|zwNn-Bx z-3)9--DVoJ8=y`4s3J9+Co0C*X-ONBOU$EfJ+vb;TKK1Eizbfaty$zRHAzQo3($Pc zNlIzxKp5G1^kgu1vboJx?(9hlLd71feusTrfTyf4RL1-LraTv9dBCsf!JwJJmtUvl z*>cZR(f$f+f3do_h6D{H2r8|>iW;X}MHNT48u!(W;)a@|{nz`nWjovcMmWzVNU6^O zePkM64PPFt0B`n}GGj|N6pqQ=#1z{v)lxhJ^3Emct@O|}<^St19RBB*RqQv1r{5eB z{FiF9w{~^?pY^!z@U2Jxwu3+}0H#(jaw;W}l*U*chOq@@6f!f!m23;T4?UsEO zrqX|qLkF`}$`NAb^xLub@E@@M%Jw;2Pe|4`+XUY!z5hE~ z{ofq>pKSjRo?W+D|Arg$gizs7fGdV>f1YxbgQ`jfRvM}WmVsEx*4iG{jai2}BO}1q za+JLxtNm{yglsi8t0jY_CskNq`OO`~J>bh6cnu+9pw&pXhrpr<+eCXsGjo}+i4XDB zlG&}Rs=9SdhJD10rC+S*e-ZYL(Ve%+wy|w@oR00JW1Ah@wr$($*tTuk>Dac@_dhe| z-gVwN=bf8x$y)jJtNrY%UAwB1f-|_lXrNlj^_bj5IUC00r)NFA{nM;0>r{ldjPnO` z0(*s*f|A`41`?8SHzzt(aF%dT##EP?%$4CIh<`!7#<6OeB~!m;5Uj0D1mCd{IM!4I z%3T;nXpXpQaWMG$J7N~(ZRViXRdFzKIypGgL0u}@S}Zj>mvP6_A;iO_Ly-oTjkAON zaJ>3nC8(eSklM9s_2-a8DscUi`^{<-G>US<4c^%PxOCm50*bHCOy@KpWFzPYrL|Ep zqYP@@pMa-VzD4`@FzU>`2_p{iqM8g}cv zaZwT#t}^CgbOWnO5=46>L%&>ZeVavYrZ;Vp*o^U~P0Pu_xq^ZJ}05_~5y0(4e zUZ{nIt7=em>YG(L&HWbtLNcxg*eG#`qdu=vXGGF5&MILVg;^b1`PEWDKCj2X;f>(~ z^w&_25dbNj1cbUDAk_cs(9i!8>Q1&+#wLGTmK7=gL+Zl%XHEe@AIB=%=(&eNc^1c3 zRaM?c+6;p%1Sc$sXT;rgq2J^E3m$E~uQ8HL*y@*KcZa3`($2un8ODIZhdbDMvxfh5 z-}9NXutHD}wR5&PFICN8KT8I*6RVQ3F%u;hK*c?=7uN~%iH-v&l1WEp+8nS@s2L(z zjHQpG-Nvl~!}c|f^xCN4uc;573p#Q~P#>SgnK(d+j)D#;LfM1@Z`ebDeotY6rm7Gu zwL*xG6cjheOaKC*(yWGaN`Xm&Me?V)r>LM+x^TL7*9kX`fIou^piOslQz)mU44)g( z#)Uh6=tv_)=yu(FPH1y}HMV0kR)kifENg*@TD6`h1h*t4AE%aUC7v1LI(CfTBVwjD zrKE+&ftJchLDzC%(imq4HaOnOpr%3~8wPiXlRZxql~-N|OM`A4z+NFXRvk()et9%O zi{&mEe`2@%smH|MG%GiMBWASj-t+yw(<_&7W|QrdaX23=cqb{%!P;>5RR9ft``zBl zyxRNPtXNJ_YdAoSwnE0WP;f@&C<;PgA zste9qKQ{3!81kxXrUtYpD6wmcF0QS(kDwy=$JcyB-0A3=1ISEgT#tEoX_u#W&&a;cWCPX++T#k-FQVBU{iv^4-Z^Qq#l zQ*r&cqo%i+eiqe*$pWR}1|PRMS5t}wv%ocS*9a?1F$?e_a&)(4GRZxI3ueqPCW|8e zhv3HReNS1Pq&`+oPRhR}IcJ26FNXkhv;)vV^tVaQztHiYsNkP@j@aHe+3X)!n7Blb z;h6{Wg{m_7rSjoag0(xWYIoq5)eATCw%3zfS_y(n6F+*ZU5~Qbver_L-CsD`+eX|_ zeA4}5s#1Q|;t53$ucpT^lilo?Kd)nN8+GpVwbf4LEPH%MQ${4Bm`#_n_zfyJPcDZcDi|5fHawM{co%j(uD5@an!*?E|ZC3deyu$ z1>#cfcKa-uaeZ91*n`0yE?Pk+`+d;a6aZjsgro0F``DYbF0CD7BQ2PPz~d1%PizZA`|!K3;wv3xr+ zgBGTXTt27P*;Akr&>!g7_n^a@!NVe1XuFkEGM`#czy%o82onQP=$f-4#pUWx7A^Uv z>1kP zBHmgl0Wb-NX?!;_VZi{H_#q)MUJB%qRU}|XkMDL0`abn0yHHmnar=F#VX2wL4m?GT zb;m^<|I#nh>ht#kxm7+V>B5n7qLf;8d*d0a%2BgRid#;q`FMhV%5Vtq59PZI)&2&S z&huahq+bi%kxh%jic`M#`2z-H#`tPg_pxvFFc;f+y6!vPw16 z*WNGyH_rbb+&Gwef$&JCiz4TkVHy=|wrW+Tn-fphQ={sOmS>=*LvFCOPt2{K43<1bN*@g-wN*mm zCq#t>%_avK0tqS^{a8|*0MlHj$VoOh-YswU(~~km)j_k^M+-gKzeR!j`Jg3d2)TU> zSnjlG;-#!5-lg21BzcBEgkBvUAY+J2MEa{hxiz0>kZa#DeutBl8k33=4u>%^bD6qz z7p*DI79@zSi}fc9fkjlsL2fo1Wi%mu6Ep*AtJPF126V-+?#Rjc7DtxT^wg#8vP(aj zpGlr>(JsAs(}a(Lk@~H)h)%2ZrePGk!9jqMVMJ3^uqmX9lh^ggX;Ir#*Fx2g^L-7B zAPaTXJMo~LibWClfS4v7CLFmaj4L)p2PIeS`cPv}zYy2!t=qakh#6i<;n%egRN!%&g%?Zm|;OCp0EN~Ns`c0}fg5<+j=nvbj! z{9t*@O9dKfKS{j#rE4xhzA-0q56UGAKq)bS47QX7(ZAv(Fnj2jR(l@Gm1T7sOO{&` z)=g~)l-F@(`#0Wa29O0U&Qs@Z$noIC{*Vt@^bcU>)G(uP!Ui-LyzCz)rPvMB?aAd^ zbZezT;4x2js0LHb0SHA0cBT9H3gX?NgN}AvsmQ6yjwha`VNw=X18W4Pqb!NB&SOn+ zK^M1-4b=&J4qr=%gm_9!hUHBbvP8CbP(ACL?kwfm4ttNa;GYfLiA9U1>0hz`MkwBp zb41$!U{nKuLHr*G<)6U#PmB@+=-7DwgHam1{aC>M!6->Z@fyyqO&X=bO@f1@2>;Bu zHnsrO#Rx)b7ynY^x84}j>B%h4{p$1f7d)LU11{JrlU&1=b2eNvHaa>6f>>lm${OY( zlSA$1-zO3k_yQ`_>Z)9*ow2)iVMKv?;NLinG~=r1it3`d#e__GF6tTSWa;HQO$?iN zlX^4Vl6H|HEfR|~;&~?=!xWvQd!;Mq#=Wjc#^#fx=vW>?pl=K+e&sfjMzV1Z;gYLY zwt>yK3z)#PlPbkzmEcfGag3uKNSN1Bpo)^NhPvsw4EnynI=pUxkJl zciH*4y_Sjv z!b$MH3*MMih>$&aYdlyxe*C^%1Ox`7C;$2NHivk)8;7~zS4rQdBy%xS;<4qW&#ik$ ze>(!LZJl5xFyWgPa}Ma@-G^-_bysdLqaikmq4#P}RV?4m$_tcYY_<#k6?`P~luYPE zXi7;k@jHV9w-|51aY#B>)eXslp<2OB(F!?-lh@+l(p^$B@@l^z8Z+S4 zp(nE8JJD2faHIL{trz?_7d(&a_FHF8eP3C`vt^GzoIXMR$|bV{z7$N)B!8d@4VIsPqJk`?+a z`uWj1A@2}{_K4J_1vN{N7W~xmLWxBjYg??ARfP77jo7Pn-Y&P6LK<^JyEm>TJK1dk z-mkuei&yXotNPL0Ukbuju+4|<;tOc*bMjBa$ypvgF*4L?RF=pj5-6l-0aveq3-)TW z$XS53?=a5}0?#c~RwIwSx}Qy{vVcS7Xc6oIs-LFRuQ)@<hLg_5m*sdN`$RK=15gTaM(yoYP6n~c#s6Z?> zI(h{^^Z!|X=^jNY5hriwVI(&_xZ5XeH&2>Rxp@x0wcUINx&TW5W=Wq&P$fKpj+*6i ze@wVWaELwrogxq8aZg;uOcS>lqK~W`bSYPLKhgzMNVmYSQvs5PC&YK7ZMEC<)dF*y z>GfB}GG&<+^(gbt2P0Jm(ev)}x9b%4I_pm@dWjZfxQUN6LUo$%Yy=FJmcXBiNTR0Rc zZ&=_mB6;hs`li{u>A~vSfxvS#3&`MWhzpf!i$nKO*BE>1(~DwK_?))5imp3nvC(y% z=+nLgwm zu?`d_kZXI?1|`opGzR+zM?STAB^ApcvMFHQ%7Bl?a&4rd#dk?iO9dJx=-??P8GY9< zY9ej)q6FCMA-doq;ol59F$)ls$0(cyVy{`I#NQz%s@UL;P&_U<>&pY;auRLXm3&tC zil4VD+nK`R$a7tTk>!+;P)yWK)L+vuDpKf2a~Dpd3`UFidB@@H(boh}J{evBnw4Ov z09id|H8^Z~k$Z$s;k|-f3GTjyv7a*c!}kSqf~-t<-Q)jt7jFyJq1hj7}hfuOPOZP!0mtYcWGm3d9~GZAgZwZIY2 zF2JBcOVhiG%(S0~{f~#gf`8Q7VBvia|2p}=y-Nn|F-0Vp$Rnd4ON7Tbpv}t8>EZ4n z^hl>s<#3g>$V8qvPPDKT7jhO@1C9YJY@H+76v<$BTTmxhoxhypDDB}h>l@A}?7LnF zRZX^B=omNH{Y?;egpBh$boy3#qYd<$plz*pX6hxzx4Vl#&d-pyTXs0riz(-01M9UL zk1yOSP-**|!KE?yk6Rn1IuwbX=*sBi;YA~B{Cl%!HgNMpR~75C>t@!O#jKU4^-t#o zwfdZz)Tg^1myNDx14HCo#sO-x<)GoXrzBdsFFtOAMVpq`Xi=<>e-pE6WIY^j0l*ml z55O@0yT_?WS=|3~6>Ls@t~S(W0v5M?w-vZ4sGWiM&U6Mu6HFu~gf z_fvI&HEuqEj~aw$jBPikMi7!4Ut4Fu8c$~q=$Ca<*ty^Nq6HwQBGOQBcI^A~0L$dj zrpzhw#zF{XD2$sAisn&XwRT(R_Sn~tjLCcY0DidOx`zzOt27PLi}shwz4?CPG67a@ zf-7HY$*)Y*%k=YRbP05pEVgaEpn6;{F+7M${5}Y}JHVD@I-RAx`hIuo;r`JG0y;IJ zdl2$wvqBN@R>$a$BfeB(OL0Ut zxDIG1j*s9VP1?8!Ra3&sl^0w|c0-~|)fP1w;NJl4d}osys37v`6qv%Fj6?#aCaAh| z94Y(>T2vrX5ZOlwlFfAT76GQZCHFVQzLh|}j#gz1AoY~bW%=CNMA>)bk$}uB+zJgH zhuCl*3PqH0$*Q7mzBNI3+qs+1mo&LrY5pf#EwClVeNaJm@l9#bZgkKd!Fe`SxT*tL zYq*TKZjVcCWAF^r4GR&A46Lzke7#cGC7uxu=M-z+dS~R3oIJ7N*8^rDN_(si<7u9R zS%3hty#`ysDM26>#iZ<((cAK5R(DO(s-3@*nSR%DwZ;L(Me~@i5W>24uwbL;0;XLm z#4c@HL#=Zql}(kx2!@bu*VXCRX|Jh@GOu9I&)e9cxw99%9s6OrOgW4ztuica6$GcWc?=9if8gBIkV{F6v2vD5s zm%d(;{JRACwc__2I%$=z89pSJ3NTSl{AE8?OVwZ7-d*p3NrOET(sgxzrMcnFAcShOWSHJ*iR`yzxKTF*2C*b7{ zN6zEPNf#``8*>M5*oE|WXNZ@zQ-%r%)heCPIWw@FnWe3z#DyC@b<%E_g+fR`{SJYL zLJ*l34Uu`MRMFlf7Krdo;PV9}%4*4k+P|!P6e`alL>?scILkDBbdE(kKv1*Z3CFWS zByWdPnR+LZ0cHt#i8&hVM@O+DG$>?qQg801j?Bvi8#cH+ zs0*N4w06!Lf@|tlE3}nVqyUz|Af*K77y;sD$U&%mr#XMFm;i5Y<-$+P+Sisk!&oe} zpDtg^-1J&ZETMLjH>HI_Fbuwk%6DFc1$npe1^=ctQjY&mj)8cY@9Q!}Bu||_>H(8u zQ;TD6<>>M9U88V|7bmdCawLijlfSYZFCdc9__Yc=4ISh*Thu9l#cd;`2@)hV3UkPP z<^3{Cv&Ird%_tLv4u0};BM_`KMJR}A1dkOVjNJu+7<#-btnkHpFxqi8QAL~Bvw`d#~w8l{%0 z)v>a-{US*Aorr;~oQ}4m%84qgE_#=1ms=e&6fFz^;z(RkUBL8=P z2IdoxDim0wYLTCjby;zl(2|~FNjWiuG%lrm+-2o#=;xC*w?wi{5x}9*TX%iS`@9)T zKm_(fH1#Kg?kqiQ?~G1tD?+Pm1vsEBzQ?+-f|{?!;5C zf>h=K*xDIkL(4=u@H-P-BCD6Fd7p}&w$1@cTG9m&V=(mQgEy2n*5>fC|M{Z52X67J z`p)Z4(@ki;(wH+*Fq5bb--od2?wUl;(l?&VkfrI!Xo|ZW^pJgAkVURd#&AJ%I&`cU zXDG{*ViJX*dzlH<@fLu7cN}gh#w`Z|=s0T-W+P6XvjnG=oD?m$S1L<-@wnLC=fGl}wV{i7h& zFh$FBwe6s&Noy>At!`}4YC3sMA9)q1G6&f+9R4DOg?_;LOwb@cg>c%BQ`Dpstgo6l zBEeE;h@ug771ib_8pDg^cHjIp$PM13&Uk|g@Fyji^D6gpu^juFiAVM$y&OyNFtecU z{tl2?TnEhsw(gA1Xc0&$xNRH+SvlDm__m}-?hCRpmH0DL_N6&6o||bIE1*m~6dtJP zZJC57^AQa;t0`eKb`)Kmms;vZvxUrq4ES}j;m!RjD%It-^9LPV zHQKQ1)8mQ>GX%7STW5lqSqJ z;w^kT%+)QDtB~a1hl>W}C7vwql`$1rl+r)djwF-kHz=Q8su}w)Xd@6W$)>Z6A=gnI z$zkok{xD**ZP`4#@qK{(l~Rh@V{=*n_K*=2ARzqzS-Ar)-5TjT={p+#tpeQj(;9H< z7U}B>`%h@qrgTt5Ffg|){s3IKeg>tpqEKREHXPI`Ln@R+TO!DVkguofH7SvfCA$kN zYGtao_fy-J%uqeeOWBq;Y?se@G2)9_nOZ2MotvE#*pvxs2*G_#)@nQro0Je1g+J~+ zL#yA!gjA~&p@Nl<^#{LQBM3h!yWTWtiik7@ zd3`*XFa_gP0d$N81AaE2ZDeZFg!rVzZBsp>Y0z zyb(gY0ch!T)KQ*%Y|#RA9(-sImjQD$a^y%7(KqDK_c7axAe?BT(56MuN?f1|2?Kiu+NUY~JCYWfvG3~fWLYJdKoN*Jp zHy@4x#Z*>fI_nJ^1f{TnFn)WlFg$AiCc%Jr=5+~$qCpnWr|BkDlos9D$22*<|yU`UKkgXVlHSN#1mmA6h;N0 zUiLeK7`MTVEHPm zi1wO|3-y|&`DWLPg-h2`YZ*V4Q#C+@xQl8Mxj1$fDM!#uk%f)z751CL$wn~T;Ke!p zdgo}V!+(C78nfRjKn$g6ryU*wORAR|BSESGsK?`OD539F0^UE7_Y8vIS4Nmro!&|8 zrm^YoizHUZPvl{hzMaz9AhJK=B6qDHR+Xm}ZjZWyG}@G0QbZVTub&|uWI}v>h*amE zLd}izi{yIcY7aj@$P?r56xLb_@CDw5&Qn{qTo5%@i+scltWsH&peHNeBc*;kc`;uqrRQqEAn)u(Q_l_n@yj8hj~LYx%M{2XJdE&x{Zo+o#R9N*5c#Tl?QEN z?x(Swo{FJuih6_g`hc*^$4XV|S2E7YCOKd=zsCjUW%cL}w>iq?{r!FKKV|tuziJdH zI-W9|s{9@FsW(@xXM2;GQXl5(5)@FU|{F1 z!;QZFZGb9y@&fn=Kr}Q3q(uJ<3pg5En;Y6%+1mWAVwJ4;4*?gc3n1Xe4hE`c1U1VO z6$94^B8o&D#r>|YuAn2$OxSAlIBj9iWU~-J%-)y==(k5xAwftyGdenT(iD+sm&|bC z)_u)dm=XzuKReMXsi-*dJviB-jWm>*1o1|~C`oBw3mm~1d&D>-@aDm;4*4teG*4q% z5{_XmIlMukz=>FE$Y^E9L~mJDAuN=xNuPvwJ zrn{nBBtfMwZWJFVQdhPaG`X>3Afu$8S^M!!>>9qUg!Q6%Z(nmYj$HBeT74~MZy(s- zy<27RLJ&akJw?Mqm2x*Qf)!}MKeO8n$3WIpIJBuwSy;V!|C@VQgBh})1Mo4l|34q& zZ}Zc?NVrg{z$$A{A`y$?_*BYdaHk>r9N}aP$=2&er!6a@WMgq~-kILlzqdM4Q3P+= z-8@IiGw7*TO*2ro1FwULBJ%mG+^N-8oa(cLSzWq}M4gy~a*jtSNv&TU?Q9ZmSCP@& zC1HbFU{(8`%RyTbR$!K=Ie-L(#0QcKrw$udydtNdhZSa|C(e|mWcECzY&^(VSN*BR zY4CL$PdVH1ap<0p{7zY3Hy8%b3M!AzFLI{-EVj;uSoGz}&CeEW^l@%E%Pe@qw#|55 zAG?^BdtXyUI6Jj0Q6e+_eD6M-H?wLpk@RZ!f*QknOUl(*2~$|dFusJtCPj$YciY+E zj&0FRq8~Wi;-gd0P3IJKt8JUYLntLOknSy=OWY?3P)8!dk*8~E-=5qo)%|N`BwP7> zCk_e(R0s8c=L#4Z{%e@qkPI8z?-m;? zEW4{~%G=u&s#I@teP6Hw3qC2ta(kjhm!5Y#H8lZ_D-LYgX#+YjL&pH6B2*I`!K1_t zz$D@cgLuk~jk&qnOsZ6uY~W+9^WzQgHaCvry8SDDTY@h%ISGx6M0^oXFwq98soC%$ z%xl8fEEJjd%=aLw#NqT&8f*u6=ZG}i0cS}Ly)-I(@YWg@Hzr2MLQz=GfFtq+CK2Y^ zE469OlRtHTPHy#m{XVy^cTaPDU43W2ZGO??Y~$CaEm`;uCrC`r!G!JhC8Ut4gUvtZ z*m5YQyy*-^6*ysV?2Ujg=~CJXyCz^y)<$Q$?69D032Npn)ke9<+gI!sEnPky5)(B< zQa2(o;jexE__X|mcxn0vz@YR^~Xr-}v$8OH2lXA{c4F;iD>ya#XF&VU-7Vq|C%{I%Ne14PL zt()9?Ssmh}zaX~tYmf?5)-ncT6+=Qobr5^Fldcu;6S&)%KGt zsa=L!#mUL}x#sZpYs1(+xWOA;v7(D|(v{zZ4dRw}?~O!T&$<w^1 zj$0Zx`Nx0|TU4_2j4*sz9MO_RLl>?UkaLxe2wuQjOH?V@#?{Bk4pbdfo3y)MpwgsD z2xY;&y6Zxm#Kr}YbS;E)=-E%KvwLW5a3ukXV0a~T(~uEIaS=id)M>m0#wOLFnKm7Y z4nL}9`1GytG0w-3plFU08*%90QI|vVEgdo9Rug-5ZdBw#E5OGIrkTJ zef2UitHxX~sh*Sh-DSa-NPe+NriGP(k|)D6yIBv}SwkM<{uPrQD&K3!0GKofVDeuA z*k3UD|A8d>hRp)Q1Fz!OZmo=lX49#$Vc?vqQ-PTfZpKL*Ka{o2Uh^_aheKA;AuzNK z(q4ScPCEM_?!{035AYG$d6y+NbmbOKmzbGPj14MG81PlwZv;Zeg^w3tH%(e}s~D@x zXH+biG92d!-sA6}&Jesrp!wrb6ruQ~E9deQy%PMm)Y#gTZQAC`6NS(fEA$)nRf)hN z-q^V7@eCll1V&tfVS+F)lrt>pI5%1Z@Zqf$X*2+2FwNt@TJ2 z+2%)=KJakR7=Me z^G3jmz%bYFhsOGe>$lfiR{zxNhRU`pBChnT#2!N z_*_eP?mm@J4+_l|lB{j5aSJK@^ey1>JAu^(&@0uxtJtIGX{7gIdH5*^%@dJPwFJa# zQ`UP$$W7?8`2!_+ngi`@6U$R2CuGpcjR@jy2qOj;24eLP`Uq15LvY4Ei62yi*pt^R z!CHx|xv`qBtdQF){cf^st!UCzw>8;p%~tp`oBHSUs?AtXp01ZkmE1xOZY06n*Ckw; z*b7undsgBM&rdm~lXqa0_tyF#ijym7hp4KZ|h?6fZqMN1pTAikwR2 z9HlD!hLO#O{|zlD2x+JSc;CAbvT11YIZuj}(+Ac7p;$4itTdHaqo)_AILQ*0IXWZy4#hOtZ(Mrwuv+(h!sXCzJhmy!}^K z|L+9nD&=iCz>Wx?o`bK@nswnWH^{wAkTMMv>%}y|L^hd%fh{1+YnQRB9R6=_Ev^_~ zD1q?iX`ZcHYiqXMuT4$gBkZ=?y!l&PZ<`?3mMs*p2;rWd=WJST7ul13G&GE%LaZkp zOwU@e&5?emYHMoYiN!4OyflekU)`nwbUeF|BYz#T-uARYjWb0S;TSm;F(Ki};Wx%7 zmyiF*6mH#OGH$~O80^O$hwZ5|lw8v_G7^m)$;z7vm?Buitt7ss34-I=roSSv;nvpL z^c`-oIX=tZIL+xA`TPYEi!G8(nY z4qR-OkHBsa+}7QMU}jT~LPt|0z1qGI!Y)2$r1}-jzyTfTfi-v+X-vVTRCa$k_SU<{ zp%X-NS#OmWV>HJex8f;CudEyud!9jH!joHWS0&oz)0kUHMi7YMLl<3*5bN_=aL)?D zMwrF+8?;py^hNIEQ;v6gl&4%HNP86JOfuG#{96nj-57_p?>_7!Y}JLM4_szN(p)L~ z*%*dAw{bF~11$EBu?kX5S9V@B_wjLufJ|VM_WqzGAs*f0LV1aSLppa*XG+>M?!xw@ zx~u~murp0<<(Nq9Bn%`&Fw>B+u&kwzy--i)ik~f%?sA1DqosvJ@2-6?ow%>BFo}IPPy;PcyySm>y%CrFGqn=%z$&-J=RkIhFKuA-?nb?#R{emNa^FUg*qcj1 z-&AM5u(JF5H&=>_u;E8_YZ4h&Eg+B)i}Sf;v&z$ zW)1y#J&>Sf*>x6~onafp_|@dgI1|M8%MMv0ky7cU#Z1iiqqj{*K5l?#o~gZiz>VpR z3s{>wJ9mx0p{^wq;L?JmX2L#KuDAhawq`n#ox6UXGnJ=74OF$B)%mo6f5&GV{B2^+ zmJuyMJgW2=^Sx3hz}`mTyw5}yi=)nI7J_P~xIakvQiFkR2~XOdW5DQ)-lfk#zb^`i z-J=c(Pf4J)zd#kjnJ@=bLEypL$zbF*+as zdo91LC{xx<0+~nbYVKIN_zF<;!hvPWl_W}*OI5Nl+XftNsBn@%FKTLxj2xVsyKH9~ zwrpyMbI*F5goPz;KX)E~-=a!6`hWg>)JGi8sZ=Kca;BAi_L4sYXpjhVL2BItJoOdO@300ri zBTJ3vEX+UyublP1db46qS1{*gJ#}_hqvV zOhf$p16vv%K~@9k=B;D>U#}q}qpqEUt&=UCy`!yzlevwdfji)L!+-tFQQr|52np!l ze=gP3Z8t=beAsvXFx18K=OaiuEDY3xf3J>&pv_`&nZxi$QaX^-irlN$nols`=;>ni zya~f!lh`Ox4L5dht?~N_t>j}A!yv>B|{kh`o;;QFr>ibQ!09oscQY51* zO0GC_rR?UG0yX-GjPwDhf#->tZcm7Viz|Qx(ZF^r<{1q!_VW~C%u8f_ZaYQa*6F~5 zWVPoHXsNI3F|m=^Y}ebI1)YBtbIPy|*mSs3+Pvs*nnCT4UwL5N(!|Y1_D6GcVd)yq zK4Wb?evV0(ewb4t;|+Fev=18Qq-3cy{6cP(O(M99Keh#? z-5i(6{0-CTQAONZI~IW3go$Xt)8)EY9@z>55yCZ0c#^TRbCoV6nbzVzcmqjJp6Aw+ z)Eyc@rV?mWis$nS(oubAnaEN_CMgu<`V+u6l?cKHVPp_iajLt%n+}2^-MOpjKJEeG zh;QUq6?2zfl?Q77c)goBoMXX{4@}H2<{gL2Gqg_ZKu+vLMF2K;v-|5s zT<+>>GnL|GoDICADq!Oyba8GC&opb=QIZ-OIMHVuy%+yD&gEUZRd_2E2p?;NJU^_1 z|6n0ZpjqNZs&^4Y-QV0#+N{Dj-zn2DB}q*LnCZT>c9IA=fqItRq)e@!>cFQotActa z%L_j&jWziM6itSpwKB4rkifWsqf}}dmFW(6PMO{so|pGsM@3$v2ZP7&-N3+WCs#>} zZWMjQJyUw#KOYj6#&0yU9x6uvdao~__#FF`dSdN&9L?I+ob!Co44%j?7effoKJpBk z@!>$jL~`g4HE2DJ0x+&DE*$Gm9Xyk*W;tAzj}WU+;&rQZxJMY?J^QRCch}{I<~mzk zFXqJ-&C3k^*;*Vh;E12ca@Z9c;x>zqSGi~Q`)2zlmQ-CdNyxB`xpQH;!I?Y#xn&=L zXv}6jLSHSB&{6!n!HMK)fvQgf27LXWNyhFtLL7}wGzoAvSExUUVngg;Glc#uYq>g! zuxi3+1O1v;WuiG-k79Z=R>edd_Nz+&WeSIjZxVdPhb;wjj5(pX85{B&%h24vrDi=+ zAD-KC-xsJ+NF=+qx+8NRM+YV&x~bYt?K(pg3I9hB#YkkfLHN zjdLgrWQS{q@f)GzY8mw)NFGObB7U^V8T?f({kC3xx=?j- zP(z%7ErGvtS1!FbE`3=Qc+afUjKg`Hwn)#a<6I;gwd1F?Jsf>e`i{015|8C{qZUdi zAmw!Nz#g71`76_;5+l^y8BMPf9(XbEJ7!mvYw6d0cLHJIwv8yGzZ zmN+g|5`GltphjpAZJ4!{TeQ)BvkZC?4-rjfolS-xBQJFnmgC4*HcfC*7bB5pId*xG zClNB{TYN9^@S6n%54Nz>P?^`)n+NV-d3vzin52vgy>S~voj%0Ktx>JG%Bl+}~n1Zi$nnYM<^KyJAwy>a9DJ7`G?TF z_#|YsH<$yN|M%Os3vNxmDbi`?i5RmH$`&+wy&b#<2Gi~<=ehtBq6g0|o!~yq6*IFw zdFiJ!pK{0}|9d=joX&~%o84UQm!qAXjvtnfzn;wu$m!039P+rPH0S3BT+a8Lm&Hbq z*U|fvJT8>rlCk+y5D&v;M`yeKAC|Aj7p zV7UpEoUYJU5II{1xRJ`8E#WL5cC}Rz&TE>UUIA07=he78%+IbQ^VWo|2Lfx z3-~Pl4xnko0eJoUKRd9DO#f|viHU=)^*<(=&23DbY;Bya4U8QO9RDt7?fR*yw84Yq zJtO@!;ByGhGFS~tn;JBU1yw{_NQprE5d1wHh3A(cbAoolkB1glvNa+X1C)ixkVvxY zxtuND^LS}Ns4RB+^&O{+3WS|S7Kt{n!}(zdfHCw0!JVPoDcJ5)fx=8=pJ0Dv`bZTs zBz_xltCugxqYJ?q<_CU5!OwZ0%FBV?pHI9B5>dLWXXMts!*{?ZEm~)r%%lnXn6KoX zdADJ~AhXc>Hs1_tZn8a)1N}h3FTcT;0iA&!k~BUFc@Y4a>JNH1UA+5{ifh3xQ6cJmqC z%l-Uw8a72tc8W)?pKr_oxUb`|-{@_srB@z$)|3!YtxORn#ZHfQD5AR7X6<~DIlzOC zhAlzvp{(aVxQKWvY$7xV&qMDfjIxoTgYUR`(x0X5B*A$o>nqfa+swxlG@d`OroC9N33}ss zT_iq51=0=h{-2>2_t`DfQNcK$=uv^Vyg2`5%PG$$erp_O}^+_w{-sAYOQLe-0N6m!bTnD`Rls;VE|;S+~GZsVGBR_{RL6kBVNBV zvviRZlUmp#-M?F*kUr9U(W64X3Irvaw}N@JAhLt@{YaBC%rz?14p zF8Hvn#_qDG;%Ele2{CD7M&wl0c|qqBl$G0jSmj(|Y8r;sl}Uc9J=?&d`fRxCYvJ2w zCJ2hiJ$<^`QO4Uu1dG=czq67rZ5qVZBKu59o}RTW^W;-bK)W{bVhfz|^Gr*Cfcfir zyN4$0$#SgfIo)aS{oh#B-w$|Kn|u8ZSB0n)qLUxmFqiQgR1{jaRbB29N z&&}8}%>b*0l&e4^ml5zoC(yK~b0IHHM4A;=t#`6sH*YEoP`DkL7B0v_=#;H`)$w5x zdRUDb#Zx3lK6r%+_ekeM@(_xMeIwvWc*Y48ph$SizLRD?2V|RWKIM7QnFyXLSpYnu z%JJpLj>b{ugMv3x7H84Bof>Cj4;QN*K*&YAB`jLpbu`*1W{z^Bg#4q>Bm(Ie8xh`t zgACwAUicN_%q~+A(#w;Kpx7@sDYYEQqVNHOP&}ij>}~QhA~urDr70Fg`w3*K4grh> zFCxQU)2{h%ZwewIOBo%8?1-5;a087JCBG-a?aHi#x;nmU9W}RCZhGpZW5QWB2^yB` zwA3Z=b{U}hucb?pP^=t8E*VoK>j`%Qi%3D2iS~ev58+y_Mr@epYty(*Y@J)5V~oj# zO)Ji%)6EY$Dg_rW&662)q7_6d`NrX0|}qUz)EwPFduUXOzYTt)6;y zAifDZM1RTD9DA2#Zx)D?AeDl0foJXC2yv{;@%YqQTPVI_8(rNz>wkG=c;oX=12lQWK-#OP| z)dUO(h#3wL|Nk@g?VZgHE&owcv)I@={UiAQF7mrnEp2hc&^}`ZeOvo1{FBvP>Z0LS zziUdaOR~AZ15D-^a11-~YuHT8xS>8Lw%1+ny?Rm9>CA!cwl`*WS(IjIX}IBA@OVNR`L6lN^b&c_Gg7>*S7 zRfMRS&4@M`ey;t_NW<*cPjy@bogaRj_icT=Vo3A{!dY_h{8)M@tNjkN>FBx~YTy{& z_iYLkt(`$%kC(YE(P$=;fx6ht10@U?j(Qpm$^Hp;ZLkGwFFJGgdoxfk0ijwNO4G*# z*KI*@p^`O(5#B!;GHQoF!b%EBi8TAtP)P@I?Ad?4`?X1jiE5d;L+Rj{6enq05YZwF zN)AiJx%6{kP!0PVOeSMI{Sby1Zk4_%h>QbN@}~7~GA_dv zxK-pYbrHGT_>d_NdOxL-z9*nkCq)SyIL0jKBl8CSL4ZXadx-m?jOE%Hxv92NzS(%VIV#I_O#9lKX0~o_mTQEEXr$|B)JJpX( zu$ipA>(@TMz%~0>%Y-Qw93Q9aA%=4H<-^_MhlCE0B(UFZdJb-{8LcEVTFfw(eoR@k z9l`Fi)nTD*ct5=pwM+?XPz2Rd03R2UlfH+TjB&?Z^AIB0qM1 z{j8)*zAXgob*8iLVB)y;Rd^0bhBfN@5&7B$R|ylfxUO7a-l2zYjC;A0)>g!Ed}fYw zUJsjpGuH^+TEJn)8WF!4xRx?p>B8rw4*FW#-<N96V<=d&Tw%QV(Ad3*4ZZI5B+rsSvPcGk6<3*M=+K^)wxlg|v9*@n&3+8G0(?L!|hy z@=7^H7XE_GkUZ($Yrzc+M+)^@zp1`%v?^a$BdOZ2XR}~+eK=y)X4nhQ`d&)B{{DaA)=+ojofP9v@H_9_vBfMHW(;7nu)^({_3B- zhhoWG9V-oWwHvFQ=iluQ=tqEnrR+phPeO{g37*6oW5&t#wdMV*VBQof)2Zr}gF zo7tsQan<|!^WXMwIFVkfjOIn<%NzI6TOi@ULrc`&JXlk+lRHrPN9a(Y}Rc z-@L_E+Upc4QVveO?tt%nUrvC}wnpWRt$^uRbo#x$J%C#Nuz~kE_wK!+$A3`6*0+P$ zv#`MXw`f<_*ZsMWah4BX*(r~T_i&`G$n{(OJ8_->^lA73Eo|&y?l`gZYeKt7v;;m3 zxD4cgFF4Eyc^n{gARfCXBd%q>UQk~TlY;b@gfY7CkJs3Xr^IcDtp;AXoDT&A80HSX z03B(oEN{-RJ_EKlAbyCfem#e9Yg=yJm?8Hkm^#`gCO|0p!fH0oVC>mGNIm$49n-OY zET&r(qrB@$ofsCF-L?%bAj$I;aM%I#x44XGXci&Yc%auKQcr7%rwxv%95TqyAx{oh zo1|YAo zWBPH0XYw+0XAMbw9><{!Ou)!|n8*oVoR11-fvJX?@yZbSZR`wYihZp>kINlC1G0!0 zB+-))<|z6YJ533abJO8)?--8~X*DI0&}V2favb!@RslPBnQG+>Ds}9Kc&CC`@YC6m zGh{R+TxQ{QS_9yL2+$!#;zlty7F#eb*-v!tNY(QUk|Bk5hq zOpDm=3QWTN6bj)Y-{mdO+X2N<#S3iotJ6>A7`MtrdH7TbZ#>pwOXd5O_L$)Al}8Sg zUG?2&=*mOT@Iw_@F6?3$x7$uIbV2A{aFobgw@6X{=*o0Q_!TZdzWrcsNT_nQ*$ zs3eAN{%eSBL@4R(Jds2qq#>Z<0Iyuom#+nx!DaUEa3}G|u5#u?tP;Hu5oUAnrKIYB z?kc4LEC)3Dp5l7Us)%f{^9j&?r)2i4sHoQf-$id*^(0^kv2;pXw5=r}7LoXuRfh7i zlbidziyce77P#a2lh-)-u*fGN%5{$qr*2ti6vn2?AOpUBO?c;}Tc2ZN_5Q(D%gAk!IQ7a>5BDzP_dv+x(OmCWUD z3J>KRy&u0V=7w5zaVoR32BGOpBf}!O&CsaE6uXbw*uH=J!A(+?I7V$pSL!7%(E(Q% zf_{d#&?J-#c<7cSU8?PmTnw;Dm?vY=@CtIPyCBl`y%zi~%>0$a+LGhM-dLz1yKfrG zMN_riWumwSoRtDfXArP~K9i?7Xy;wtLcfWrr`gkTV5E?_kvHY?*)Zf~H!rpu_^A1p z5aRQ*>ZG*&9D}J~Zp15vW}Vt=LVY*F)E3o>MF`jnq1Kq!E%zC8P&9a6{xIIYqaZ^i zPc0H<;FCm*Mk5ox?%TzL>Cq-lB*7Bsc8WjBMEEf|EmgTXYMjf3* z1Vz1KL(@eO59tF>Sx+D4txy%`!&_pqt~p$W@Lljq=ml2cNIKOFgT=|E`=?;Kf|xG9 z^beQ$MSt-eqy4^p)TIN0pP9LgY$A&9wnSrCiff~k9rHkR$vt___4!QX@d-5Fgpe|g z?tSCTrGt9<{<+)gO=70?o9q{d(*CP7qx>v)qz3zHA0S1&)weV0H*)RU)UAE9(L1-v%I7HAKDN7LQX#@L_3 zE@FA3-{jJk7>A1LU}8y|^n8^+cNJSN{obqY$JN1O8@w$}?ap&N_w~2q&t<7LE4Ubx zpt*&*9jax(NW)}c=iNoZML2V7Of9awU(f46fBDQyg%lSR?F?S-`Igviq0Yj_zEER^ zeI?QKd?2rp*74N=*0uJ113k0X zx%Ykl)|ec0=>o^34`k90UtEUt9hTDKAfmVw@!-!Os3z^Hc)**JCIrY7LEXjFFi;&i zY{oPhpGLJ2Sj(tW|Cv%1@fr}+Ry=857?54(G(0DK zXwcc#=kpG9C%RGYn|O6#-;Ew2?`R}ws~SB|3%|}lCSa8DPu?G~to6W0$K*plcTq$3 z#W;}psl@4|oc%skD_FG|zJAH`ry#%f{0%G0lB5)b`=N}<8GK8G&b5Ll^S!Jvad`0+Q=Xh9 zcKZTl(G=Bksvc{T&vJRP^kvi%3l$abZqWp7)!Qh*qy-P82A6f3KS~{on*KG)L8Y2?;ia{e$r1JOMtq;DIifoJ$zyZh z`&(j(x@J4m->mMYjLc=H9;H=HVg1F8X)j*Nogx75b-X5d?K#&^2OhMv{8NQQLm8^x zQ#A|+4k1dMhPM>F!5y#CX*Bc1=U6W!9w^@R7*dqxe(f*GrT9N)Zl~rV;DxT@CQVE$}c?e5@>pqX>@f$VvH=b zXDy5ElAZe~+sTv7ogKeV*!2IdW#`35x-Ng8v?nqD&-d{E(6Y`ZCT{FDk0xiM^1tLnd-e?x@{>wXdL^Us>zI03V%Bp#wM$0tAys}=B^{|9}~D%)8G<1=T3?9`H?0@uerKrImWZ8=>@R0vxE7E z5~N{_?0AwXAWi@~=2=~xSpQu}07p3D&dxpp-u>W=q0@u^JSky_rDefxXIkvjw#=Nc zG7%2JLz@zChu5V2SBv%=GdQzKAcLc_aOAK1gg}1K9G}1dJ%67E(Wx_m_%E*I2zZNX zpty)a&@~I&eqIYDKcyjq6e#^7Bh0X?Ze!>u3eq^@aq6rhR{}Yj2EjBO_jaxh)n)5# zy1sk(6+d5711bjXm3(u0G(4_MFmiPLsJONPzDoQos%L98wKshUQ$GY zK@vkiO!#Tvz&d!gSRU<6@CHE$fCGscFgp-O!szi-q$G{AhNN~nW`IQOA2vruO8K6k9$V;+n-ts)WUI;ZD5}lcBE)4pSofe}CZDzD| zcq0YTQ#!X1KP1^Vl49K+p01Xn2>F=2g8k-N32~AV2qX(bxKd+KH`h-NZ<(}EB-L5y z2h}<{bmxW6Nh6&;iky;w$A+EABb)Cakru<}0^S?HQ@;6Iy0)5z(ZLI7J~;B2*EFF& z{K4}TRd!Xk{~rY5a~)?Y3t|ZLz4Q$9`njFm=b@-NNzpXy&F3i0auu+znto-nv;Jkt zG;-kI!pLQq7PZTTMYaZIdl(N^f@EVbod(PYXjic3hz1PwRV*EK+(b5#Ze5E)S6v-& z(d!jAnzIR{Q$aT3xc6`#!ZW{uO8ilyC2ZYQyNkK%RKP6MA)iD(j~k-YN68JnBY>(} zJ7-%WHIi}&gblWRbJwLCrxP;a{B|p5HOF$CsqgTIhkn=7Cs>vOf6iBzdVf#809&Lz zqt{X!jIp%~?|9Lw_Rzy@Gp64ONti#SWW~jXgQ7YVEGferR^(6?_vOtYsxeG&>`zrD z(5sMN;6kw@t2PumU^C-9DK@q9Va-_Vr189(5AV=-;jZy2E!Iv|XE}B4L@B%%w@30|-ejQ0J^gDa74Aw~T3OmNDx<)!^-n zcK)|=>gB>F)Yt=8?vo?PA2Kg_M@MP1_-WsyERqga>4wr7$cwNmFG$^=X24` z@NqLBK$t$IC&*gJf%XNDUX;8)KipR}FjH%dEw*@ccWPIxlF>TPjG?C0cr>*@buuO% z+&Sko@_vil)S72+$toW0>tn9UFwGNJ)t-H1DZk6~egD(U$Voj+(y1DQks>69xqAr1 zd~b^9E@`QVJn;phSEM_QdSoz`(fsDt#3*Xl=J3P@^MUjH75Hbpawla#RBK(Nl#kY? z675ezx%OVLe{*uZc9WyywyY3N+L|KU@~zE$@mJc1vy>wbwykhMns)C3d{%BA78SmdaTh;7}E#t;3HabO5d;7f44MGp7IKDT!`l&eZ+5Y>Jp@YjDHV*7} zx9-MuW`&RibkpRhiq;xqa@St3U#mQ2KW-l2OT#kL!Y+!7pJr}ij!P!34tX_8W0Nrj z4-1@-$HU1o_RHX+`oTm5{`E?H@m+KimkiO19Ou_TiT2~aUXO6_SI1hT(?vSZW4f7i zZi>Bjrv5>#YR3Y(WCKtFoG}w zzJOQQA$BkktYKNCg%*TX2fDi}K81^)>5yiQ%8 zN=58VNAD<5%Gl8*VNxI0@aU4-j~3}8T?>F{)DV2CY*7a3Yka2Z8hu+EusFo|IH?n{ z!rN!le{=%Qdw{&T#N*+#_7W?(T$b>w;`Fn@aY@xM%w z8^3z3?ZnF^9AA=p0D@E=Ph`?Qn&tlHh-K%{V?!% z!C#-?KY_0Q|7MuY{|QWat!eGN@#}`&Q2m5=%1z&|&7}=t+pJCu$?^2>F`AHR{(%Nz znL{OE^dcd|e{P-a-bRA33C@wx$*NREWh=MeJ>_iGt{JppgSMZ^RG&M~T-E&rM~AO} z@viN9-vPsl;Q-tAj*P^own_v|)``!))o`wZFc)-TR#qEs&jW)d91)@ADx`-9F zr*8F+&lk7?(ckm})Lj2_EyJ0%*AjkFvl4hU;53*9y5UqK;B$n~fp9qZ*6TH7%bK&) zch|n;8(4c1n1!Xui#H%3Gw{r9z9po^FrVWG)Rnf({Co_YZJW;No6R4YRlW(Bwq4a0 zpdhEu=WjA&&PTv)Fw%y`aJZLz^^3T8ewmriv@b$=F_JzqC^o<9=-)z?6DZ)Y1L#TT zFro=dL#{K$S|L`;?TljyPOR!PEi5KakB_{JG_d+L!)8?>I7B%XTz=$}IvlWqhf`1C z?vUG#d|DDiIlmy#oTrq|V1W0zVzS5BsuTP^iJ{4c0h}iXp^6;ym~wC9@ArjQ;Jyf? zDZF+gTaOnK0}c;^eOmJ4%c#~w`K=2x>N}98As&m__myU z98OW9S*1l3H+Mh&CDZNRzr2{-u_IWS-s2(TuFqX_}{Us?l_bW8P27H{_k$q-U4j;Vg;58p4 zpac>iO=G_UEL)ajoa5nl;I%F+HzP)^Lr7Gfrzt6Ts$IX@!bsKT2vO^N*uQVuz7og* zF|q1(nr*J>L)KqVVo9!JKs^M&Y*fKV+%3YGTSbJ~M!@Y|{cR10k255(fnp=Rj@3ES zCHa>mltYobSOO4$p`5@@;Ra3K*OSBxzJx(pKB^D6a}QdXwD21{iVS>Jmd9@dwJ&={ewq{#W@o-AFl&A!R~? zSd*=WXung49l&q$}XaIpGpdHJO2~fJS2x} zuky6q1_6G29+q`0(c=gYUy^hpxO_*&vV=>K8dRyKhsv1AT#Qsv1?%0Fvsj9zpcxYV z%Z~yH2L-Cb4kVgoW|pK_eNO6t;5*L0zF;it!#jNQ8G(N9s@v0ZnddSf^7>5owA#>Z zhHJNlpnL|C5+tWUw|&bA29WvLF_DXuECy40)_ znGS090x(udi}p@@a+ zWueMQpQ0wJ1scr}MA*&_2gDKaW^u=xp`q$QspQBC<^6?sO-PCgzz;Zsm1xeS6rX|kV5_5(SbZ8>;6b=;4 z^|gzL?)xBA_I)T(gGJfWLXUR6+n>MUHvMZ^gstU<)y8V8@BbDtI(7zEgJTgWdv44F zLAI^^E0mK!PWrO%27K1K-f3*@pa{~!d0yt4Iqrt4!tkR(;I*#N^{UjGDuXhOO^u1K zH|PZZlhr_>L01O#hP2oe&p3x=eM{T46_7SvA}*OQ;w43@rrYi^Ds!Yns9JfHq4uu# zhoq?GJvdRFn){2=D5|o$ntwPCU-jEn>gWeeN+f2?CP8R-Po&r`2Mbb5LZ}>9ctf1u zCpWTmYnyDyrQrC*KbU3=(3cu%B2}e8#Zc6i8-|5fRj6K8VPY|{Mq^2%qzgEzqo5=v zX(s9oSAhj8ROJbeK5fav_-*l8#`Jgr&K_n^Kp2b~oxij(;~EZ?g;sTOvyNCF z^>#{_R&PD5IJBV2`lB*^h&@yu+o-GKWA1EG!x_g z?9-Xb$JBjrD*&FBD}RtFsUluun0sA^ zO~X)qv`E)>o?wR`2+d2>8&0nG-B0dk%Uc0=U42KDy_nhUpltd2$HfmP#}WLNf(=_{ zvqxE@=)Uz{L;m;y)y&47veYS6)tx7UXBU|2neH`M4op~6jOH5!$eKYpe8Shu67V#3 zvZ@CJiZ4*?3D(z3AFUfCZkJj@WU8HAn*lNdB6l9}%H{+PHQFI_^b{&=pU2M>k^g?? z*AB6OYXR`IJ9m5o(~jxi_ZbqG>K#=)2l_EA;lWW$CaMw=V`vGBXm;QLg&B`erQAgF zY1g^ge~I(|Zx4LB%|wudze|43kpEex$H=U2YiR6bPxs4LG5w!BkZ#rg6`>;E_fMB9 zcM2@pU>8(sD&8n(<;^_9p4^j+#`&{$?B%QZde$rk3>baI84S_hHIOu#)yssBAHHYI2{w`9+~3v8I9D+5 zx@-X>C!io2e`C=hNVOorn8}SNQ$g$k`r{1XIoEhZyMZ&zEGLd}bfj=(>^`@<7dluW zd38b{JZ94>1b~%MsDd*V47$;qVxW=L^i~TAm}7ECnfvV%b;{%pFDTR?(cE&~T%0-a z^zix6SMsW(CQ>l*g2zitU-<0g-Ah60%PcmBPmA%x_5<38lEG9il!riyWt10at(-Of zeyw%EFh6Nw+TD#($j>ZHOU?VdPzhU} z51rpKK}ETdl?<5{e0*Rd!%Qq@$q>?rc{Cw7Qe1L#_A??A#B5?b$Xaf^0LVJ1L0j=B z6)GEx)B++BrnxBn(M|&jn zHug`gwL(S+rt^SuRlZ%yW_M9W2n8>2xKsdJ^bgR@&|2(_Q@#7Y;a?oXp-=~4Jw(ukLYq)m5S zkT&w*3f_$Te_a7m460>m`kk_PXaE58|Fr`2|D7@yOWXf>($sA2H`x%r?fQQ9PXuIX zh8i{vhY@-W?5tQYGh51e^50GxU0Na~ilvksm*Kyzd8N`0O=r^VW?n^+DEVHtK3siw z!=uMH;SuCU@yq)1wrh871R5P(K#Jxe%=BW?swK{gd4o}iYi9mq`~U=vqz2V|cPQbt ziv-cd9h&?Bf!VPaQTuVNK%t^_#MCGt2LObq`~QNj5fN_(HIL9BJ3)Gm_{bP;^^&_o zTx;$b2ovSgr<*}yrYje&)G1(9CySwp8U<;+uFoLwh?2tsrwO#xFmkqLz~DPM<7 zYvQzK>$%nklWlY?yA6m zdo3eCv+2;5adL_>(b|qmH*(|tw1k8fkGvka>zv}2d!2Zf!y5Z z6QL|dK|Do_PDf8IaO2emS3U3goj9uzL_P7ZqwPzklkFb$H!tsQqlKFXNb2K^Y~wrU zZf=nHP)T$3NlA*a^{~W%my`bxVHn$$q1^+Buf9OQx4el*{p7yUvLKv&= z#W^_f!;^1!LCue!VF`HPHEysQu+1BY-Dp340aC51BUAx@j?vtlntntMvM1uzvF02M zm7Lar;v_8`L991}CU1RDSO0XM{`{34i;UrPdH04p=C31z0^sA{6aUkZRe@!{4V&sy8-0V zf?RppN2m(pQr9dPb~4>ZwW^v@f6eg@PC60G4nkxi@|gF&bH0Tr4{nH>MEf(DUP*X( z;WW`GEV7^g@CTYg1U{FFSKn13d z^$?{_uYfhmPI6bhC2S)ic1}`A(}7;naU8OupP@^)ow4$;xJERo?L@mRLd_b|6b-~( zVU>!%=XgCtf(tCWiNBp!KrU~K14nG%(-t~Ev>o!fp+mu1ydxV9r#qb}7pku^R**pL zeyu}B*9mgpmfgKg6Tx|sm2Itg`3oT+8R*oS)L*-l=K$1Z=$V+;qt1Xs-rdf|-q7T?>CV*oH(K{U#OQ`Kwe2@YkpAx&ooclN3dw?! z5dl!oBWGL!`5o5?NLz5T` zQTxu3SidFTRO<0DbHwDR4w9$BA7C8^Pe;#rZQoEMfP4je4y6EBgaMui&EA02$Il~S zj6f?$x{(BMyjg-s9+W7EMPZd-8v^Y8${!EaT)8!y_&>mXC-oO}W#mR$fX z3Y30SSl9Q?CUFLd9k&4nr*&y9E-B9N0jav2VQZu)w$!=&nR7@le^OGht$zbE%bc*m z=JU*wHm_?CeD@&<*Ls=X(MaHP47#%m8zF$`A014Z`T=>8WDvAB5Hu`@vc~$&l2zE~ z^FL~VXnP3~OKYL5(TD|ScyB*$P&NO6q-%60wLs$qletxF3oaS9n14Lqa2< zAB_MkL@sq#dUSt3Yzv#_()5f6h2l)k;nG=DXd%nfisNsPu=N@AHhv_iMgz3gzPa`~ zxdWmJ#&rxMpJp`1fawx&1S&xBxFg{Ya<0uH6RdbL1MZ;m2nSXWaSfb48mA4 zkwW8xs>F8S7Fo>&_h-dz(*@Zi{SZkg?x6sO5JqA)$`)+RTWGAiAjrN=zYY$2 zKF3B|8oYZwOV=OdNZuSeNtzz{btOh}=4;*FXD`!BA_4hC) z{$O-X(f|>ob&AmMr4Aqlio7yP6jgqG_+00dbX&C8M=q>58!v4+-_;{uzH*wCEV#_L zs7MzxbH>J_^0@UJn6-5Ma}EYRn^rEyeJ)R0#xFDz6?Gp1Y;;!N1dUN`pxzukx6ck&uiON=dzo?1= zalVowf=lP?8qo)u_Euf3%78zqAo*f{2LkMJeFe@{n=l2V> zeQN`~*)vy=ufu-l#=RkvBpcc!x+FCOLKl?WB^Ri=d-z!BDx?cFLdy}Gn22QRb{p*y zAFVo^GC5)H&JUF`Om6Z3A+@(d6+!@8dJ+bS#>%%6s=+-xOa)IO`4?<0_ATA*XB%_v zFp>@RVZgUmUso?bKT|>Pt0U_1BClFTX%|0yA>mHy(?sdJ&)P)k>)zc3KJ+g^owPm5 zJyk$;R4uXuD(Wl`yqDH0;V|%rQyv%fCy*IGZr_LRPaCi@4Hv$t8NHmD88iJ=wG1*s zVhCUCH@VBj9zNg96niP=<}a?9r|ISFs+2=Awzm)*MeBX92E^Ud4ZtweK)m zip=~mR?W{|@vbkPLy%bFFAkE$k(@alhhOOYoE7TnR|f{3HG8CNT|(cW{Kg+~CAY=_ zu1MZQa7XALh{exTseiLlNbcJ$V|TiGL?FCz`i&R6r^HAS8YB#pMfuOc^5|TFP3;rC zBKzP_$Xq-08PEruDF;LxZ6JvPMGi2|Z3w!}q@er;4{c4Il`ysA5y{c!Z4aVo>;2;d zi9B6p3wDU@ED^#U`Jvi)z=mkfPA2Ijzvz-yU`I(cj1+<*K6d9Z>e9_Afh!FDs3SxG zzs=XCUXUjy&FOL(CwTC^05##Yu#OODWE7T+ufhQPRT%%PY3_e33{wvWLpziI2bJn< zW9j@q@=}L2e=iywNZ)t_KZY}$oehSQ^s@He#Ym!XW_Xw%rW81NELH+`NonAKN;3|$L<<&bji9Wi2ZM!u z^sD;mzxu&3;=J(11LCL6u5SV0;D6sFK0k3rOsV&9p)d*q0HGWzjWrnbqmVhcxr3R( z7`1Qh&iB<|nQL79R!mMEnm&LCWW}6&{OKW3L3kj1OFaR!1SpOCP4XKYhA_&6=me#G25Z_sznQct28kwA1uUaLOT=!pUEosK2zv`?30i&`~TF7c21K=``**4<}3zO z&Vnb5rf(ob7rdw-${BK(rw?DJT(_N7k{UGvC0rye2W`jxMB!D&-w3rVS@Cj8qw}nwKu-KAm~T|$E@-ty zA8A|1V5hb2uDm zyX%RS4cQ-|cEk`Gaa$__3cC+Eou2|mr_+!DHW4)t<=V{xWtUDz!Ft=M@~t9;S^}vbA>p!82c6afd0z*0Xa99ps!d ziV?&NY5WLeRxD|^wFUY5+and`SOqbzL?gBA3l-~uVyGtHimW#+iUn%Ys%R`r8~pjO zWVKtB>i8tmU0u|gN(7I=g{)RDR%G~SU7OzS|1@*U6l+|nIkT2%k1_2^0aR}{ecf{5 zc4*h>6%`G>irx(rt{lV!6nl}$cLV$s-Ac3!ujiI65LJAs`?T}Idkfax`W2`?t=Mkbz`%wN85|3k zF>>;EKh}2s4T+3&vhU$k1KyV=e5cp?C$M+G5xWb6crjQi(fvlMBAqw<&)5tXjSRcRx#Edx_*vGy3W34D4wHv*4-WDpE81MOtJ^t?`Jkl(CE=NLdG; z`8M?jLt`CUV5}@|3w<=navtNo8>w4`pX-;K20g6QON3=&bzrLi)?%gMViOF|TcmJ&V;D)06JEk%80#kNP<#ZGGL zK8N@6V8uUy;kw>U+f&hz@kZPlNaWEl@Bz(mpDv8``QvIHwYJ?M`v8)Xhn}jehdDN4 z9*J<=2R37$)?YnV{TQoQ_W|4fv-2^nh1m~Aj}+1EE@j#kLu*r46qL6C^^>Z+j`+y` zvg42O7(O>Rv)5|)Q^eP#(cr&l4DHXca-%^t)iIj$fl6Q4?z#%q z#|HRHry?10Jka8`_V1K;r;;_R=#bcMA$@mWnkP&V{I&2kjsKG^s7UverTQrB;-9>Q zE{`NZ6fCgy(^$yyLt0U&FB3vMTGeJ6;u}$#-A7U54LqXrVg&*yTF1tU`RDoj;on2A z8%A$A4^ML*SQ+Oost!-(t6ob^v!#&(^mj^E3_#dPe&Gdgs&55)J85zpt2w4GynW9+J3ZaImr_E3o2!zPzEzC zyt>qQN5k~T&b*NwG8OQ8}>m@_9>J4_X!@4(-YV>TOqCrhF8vK zOPiUUZ zOJl++=CGvokV%e}o*`dJ1RMRyRWr9Vk><$#_U&72EeNUhm&_ZH!J`WgPrQ)gKT0PmTxst6jDrvn(?@yl)y0m=2_ zN<;j!Xf!c8AocGe@ZWU?uZEGv54YBjU4`-HE(K6X0D*ke+5d8jwQ&l81S1t?gO|9EJz|{`|F)tU?+A&_zEO9mE2C+Wq z_i>ZmB2g}5bNQLFwZ7}?{_?g39Rx5l`iGq%BhIc&ptoCZ?$@=Px9WG`2wC?dQtm>u z^IXdnBqJ*NV8DPeAP|Uz;lHWpC--0FehCZC#SpUo00OdOE0qp0U&2C35)zfO0tM4G zOaUDMDHD9{&M_0_N=WmQCcejk{V?l_v}9<96)KG7Hx`a#69n-=(v$;BH?EZK?MIBn z$Vss5j+L~POp7y8;o!=g053lCG;}zQa*6q-F=uP<&5gTx|7-e9ZY^t0R~^%*HW5iK zmqSU;RRUA2+_G_k-bEy{wJ*!PIwtnq~+WF5)^Oc%oL&YKW+M9_R$#!0})MXjt4?PedQ z8W|3AS-pAl`dy=VtXXPwHLqK2y{C6!nkx|1;Uh$+rJ*`(FqY@pRxs(UXMHJ<{+i7= zKZ+fJ9A@)lJJq89)y~D$nKQR9qTDAdW>zfu?&x2K9=a1KggD`F_tVC%L|#;)HL=Vw zWzWupzqTHP>t(xI!fPA3&E_mL_$=1l@E1MK&YXS2&7PfSogP4^hIKh}j=C6K8k}6H zJa=_;WK^mrdf&54t$Q@eCCPe%wwF#CI&*@Frv!sy@3Z>GPu#VN?eqvckkzp8=k$-Do zL0~S1nBfX%oNEBT@T`HF>KWJZVr~L!FGjJXU+#Au9mJ3pE{7jG+S%Haa8w?aVq3}c zxSiFL5|D#Nq-Vu)nW$L2tc0jdZ+$Q~^56{J%zvX3j#xftslfsO#L)u);Qv><-^}t? zjXS$rx>&dwI=LCz{7;tOvexB)sPP}X{GUOU?IE>23dzkuy6kd}(YqTn_P@WZv* zG|~|@;^MrYIir6{*k!qbVvsy8tGg?|7t?|eZ-JQkP2R*Rsrs0byx$1#aNCm)Mrsyh@x-Q^OhCO zFsjH9d_*%UmN5o%BB>z+RDfyltoSm{;D!_el#QG9$_^t7IwBoCf#+~6+J1;DZm?*S z86NLz-yGyw2@Q3Ysf${47*7&bY36*i$A9dkp(oV@KzJ2 zPUMxxumwpQHXjjib_AMuu1z5UGFtPXgaTATL$)6nt)LLlqar1mP?|+ZScLLzUbr5^ zE7H;RPL?{)No$Hh4VsAb;swlJKD@|>>BuRL>$uC+x|@??g_SK$dEC%S>;q$o1d! z2?wTC02n#0?!|~gz66R|7ny=!Ut;!E$Tl;-G$N!3$_ZvrCD<#E0ryTG1Vt z%&Q~?>&A|q^1mM7BAq%!$w;vJZS%Yaglp$c(wd0s0vO3`7!G&;b`^S3colI*jRQpu zCEUA~A|fq8=^=D17ZN&SB1Q_Mf+7ap&zvE_v!YYzwydzTW={Z8#CuEVs#;@*H%!4s z(5I$&QKhjb*snxEwdGZ=j3Er&{OG2E%0>Twj>p3(=86UuumuNFNReBe%5Hz(qUZ&U z<%R3{sn8v|#0m_NX7(h^*2@;jNlQJU$Q>6zf)RR_8W$wL$5F*sSy=QHx~eLHFq|-C zJcGpULf?O&P`>6Z9VUp3sDxAYp>jOKNxEcD}UUu(V!i}oj@scXHh*Zm&P(#HVKr)q{Ud#fs%Ul$JCQ! zk6zH5Lca;L2Yp|N7+T1w3n!Jiy&rsyn%uA29=F zOT><4Y^WQc+0Gf{w|}LeybLLz2UN2~F^*B8Wi*j#5Tit1kh{EoD>VFrRzFg*@AlEB z0RT*ClqG-_p@B)raIo02U-~Yx{p<2m@W^TZw9z0_$QYSMFh`bpq!Uh-roL#pO?EVB z#qx8H!fxh2ozuXBA1ZaRi?u?PYE0y6DI}%zqdVnTm8$YODVZCpsi>ioqEVDYxfe;* zKb}?kWZLSjNUUE8;RH2{q1n_f_Dp1ejaQB@v5y}FSHjv-IHU9s65w{gcW<~yh6lKM{j#aKkFqmUOAU!Z&^HVRyqwAVzFKH12ta_-dD zX}JuGe~zV)fcLwtLM>jt(7#Xaomy00o1{Tc^eXh=AF9k#-E5?tj)}4eYnY@O5a!t zQgW~WCxQ~~=v|}=(%@D?6XJvln)}1ezlHP8GhtSrU)xDJ*e%CaMx0QJ0{OK1cd}qX zt@?Nz=(>gGm;o*2nxfdcPxX9V2~iE%D}o=s@d(AF@^cpci#*??wxWlz7XZ7@+b zuYqA1y6gpOHjh8NW-ZabriK<2g-v5gX+3bR9FAz4MGVmFO^jGiQ|jm@`k~VlkpPyC z{i8Hw-4-i+{=E}`Mb)8KD0%rLk|8Tnf?U>_-L4_gbMdN6DQYYHEf#X_3VzQ*-?NlC{nI)t` zo^2$qT$!B~3Dr=gg0i$GW!k}bx}ZuQ=Y&}ULt><$?4JXWzwx8M@JXZ@3FOuq$_h$f zl&R*s{3zpGJfSo4qnc9BhLo|Wt}n`vv^zG~MWP;~>v5gkr2J4mq@z*Bz|3~tRy~Gi z{HQSd>2T?|WzMhwU9a@cg<)yZP&be^{1L%Fqso`K#__qIwjq^HMF!v*i1X!s{jm`{lT9?ceU0Bm7F! zPcrX%j5n7qi}SyWN6=aHwwxtD=S^O^*~z)OPdm9VA-jEm%NjCY_a`gRB?pJo&qpp7 z;eL1}__igvlZfsWYIRNrRwXO%#8!<%DUgJ&UBy*eN>Ng5i94%jeTYu`ZTUc9q?N0x z6ic#3SEQ8Iq7Mi}5;RQ~Qt-W_9edAGUoh|^n&V^EIE0xY{U(?anD7orouFdb-*sU9 zIBgo*yI)!=&7Sry>zFw>*$X<%KW2?5k}J?>-M3lVIRz6z|ZrQWh`Q+*^N788X*hg8(~B%X3x<Wl<@W^!Q$za_L^-6H>sa zPHrhdJ^r$%tr~VOx<77aDF%zNf@jMbL15dFyaptZh+l-Nw@N+q{2fz+pS&~|bnfbt z+dpprZYc)xnrD4w^1J(ef@11Z=N9JXEF}9GOKv537-N@)d}jGN*wDqj29@v&7ueqg zvyn->9)}Leo>C4U^AEHr?&E=?6_$7x8p74ATg{!GUcKHN1=gv9a`MbUQju*R`xxy1`63gTXOeWGL1rpUz9!_ zRJD11#RtZjK_}+4K4E?Hk_`;HAvOJYkC@!rUmubmF{^TvEBJNJ;!^pK=f~E^5zrS* z>-FHYsoeK4x7_WaxE|tX0+z?dMD}rHDqmwBYgj2n9^7YK_}A$Z=Eaz=MX2#d5YU1*vsEe zhVcfeMlNq^guL-@T6d?g5<=#VbQU(n`#)Z$rkHFsYn{1g178mxrP5|X5;5nR7Vj@u z%2wgvehpasYvQUc>rncnMAb3*ySGBR{A8+b?+Gm%HebhiyNJN-YkYot7tQNP{rW2M zaVY9W#S{F6v`!}c{BFbxKtke4I*^u(A@1Xo%iK?wEan0a-FEdlf)(`7RjF#@K~955rd5j! zoL1L{&X3lf;FbphN&Zs)Du^*fd)|Q>n$4`ie;(PC=aOA*UG_SDrs~OK?Ux?HX zOkoi%3u|yXbKj=9cJ^1h=ELrQ@S!UjUcC*KYnuL@xu1ECS=X_<`~+`h2N58BQpsKe zKmjw%m3j9NmNFnA5^OP@Rzx+QI(3Zx?F1|1kc1Z^e}@fsK~aYKY1vN^X@rJ}BvxO} zesMor{23>M*d%rck1!@02ZfskhQN(hZwo{-Bw~u7-!XQiqHjz9^!n$~VVT&NJ75qC z_?g)s<_fEU5Uc`1K)lce<6_S$h$r7PtScpDw9cg!ur=KFtS6q5S}_N^Cr{Z*@=$#p~kDcHLC zykDBP>LAR$7G4eox$WJ3>z5|Ri-YD)0t4oG^SbkSM@$G2X}kU6%6P_`&O_!nrn7Sg zF)dzQCa(CLDiM%jf#yu8RJ77%_JvR4856m`9#(cROE0py~nNBCqrSYbP#4S`KnLFN*!7ffb}b8_*65Cc_3~XQv|q& zkHU%GG7A4xwB)&cQc4^p(0qoSq#AuN3zV(=EmmjnuQv=t3Q1k!SdSEK>6`i27%D~Q zZk^JSVm_gr;R*HI#TlMQ1ACKKqkMl6vLh+poXb4M;L~r}H?EB_LWtsFv;$;jUK7}@ z(f!v_bpu?z9Nmz_aO=fAAYA2T!ogE3&(r!&GZepWNjG%@({pm!27v9_kTS@=K?WT8o%-?G4B7%So(j=p{B+*#ty$WY+D;+EA!va z|IUU}({wx-gY%I?{Sg>M(R0KhKWb5t5XS}2@^93GAmbWGHn$V%I$YDsB)J-VyQXf2 zO|z`&tSPWw+Rj}{=pc2rFr|kFzH!J6-g0a=JT%P%qw)LHu^uzHdyEN;IKkUT4#ctd8`i5lplMu)*G;u`+5jsyWCw8t_9bhs>^owH8iPjEABe`J@ zk%^L>_UW!2&g}y_anPxm1+UoN$F0le^(@QQpbywx$u)01($JkG)K7C2R&VFnIE1`% zE7^C@)OjLEZ^d;Ze1IlW9^8JlS5%-=5Sg0k+KRiFz~zz6+X^N9JfSAm&|$PfWKqZ9 z21S1_FF8k`Bf6hG_IwHc992usp0fBdh%yBOT5z1bwII;uqRXnv@B4)J^YqajX?iiY zc-tH&n`wdwtsElQX~0{9W`OA6i>JZPB0E|^OHXHgbVC{Mm>QB7%`l3cEz$zKl2&^| zuW2bQmVik{do&hjk~KZ?J*AW%c9vUSd+L7yYsnO)et^K#lptmT{~aX20-PF%mf=dN z5(}ODEuxdeeDb1Oq4Sbu*xKGk<=n~4weL_sBiAx8t!}ik;ss5o!)9-Od~sepk2swC zJ2#{&C3LdNmN8$m;>2*OyLRdpsQ6?dN>9{sK?e0pJEm>3Y0cYV*g*YPe%ULe-We!) z2xhKwSQ3rkQSQIj7H)eXzsdrf>42*1yQkHt9fF-yE&O0U0*_m<%C1BW9J4|_tVUrGqFbZ0W(CChU1d$P6zaQ~1?_eipL9@F zYHWX%8Tcr<{QQ*U@;`wUR7M!h^ckT}_;kG}(|2)=hAfy6I7}zG6ZD7_lfJaqO~KrM$!lIMaRS zpsE@8DRvr#AoVCV17W)iSJ!Y!&dp4$v^Dg(2W#J=Nw%_M2~ zM1Z)Z2b!@aMw}Gbkh+~VcrUCG9*f8nx71YXaWyA~wc@}TbaNbbx2piO2Ig0zMSc!y zXl^_C8+B14@XSHu7Jg?yRyaU`mGLnGbnCsv?+<2#|&ZV4qCg<0eE<(T2s9kP zP{Xr9NEoEG`jVonNuWs(bp;)rYf!u9PZhL0x(x(`7aP08R{o?2_wh1-T~-bBra zjiYUx-JBR7n4f2@r$7hWNew=*_N;v$5JO8NEjND9YLls%Po>Rg0evX39kQYdDE?hx)c+r5|oBP0Z zbR`{!aa_oDJRtp06R_lWpM3*;hiWM_^e#}Sjn|9^LtBt&MzL0YuN9{`b?<5_-LXdMV&ued>mUbNV!;=Z+YWSPa9H{_u9#Lt@lE5FV>JC+7vq9JY*%cQQS8H9a-Kq z`8(-U@t0Kkp5<7PlGFsj*_T!&TPc-6IKM8SKBi)(9I~SxZBQ*zziK$_h2Zif!T3Ij zb@yVN@}z^~81$gZOV&>m7=%cvLsBlK)!D|N8@9Ns$F&A{qPQ5+6oYy(6f`O^Z5^kS z7S!P*m@hr@2a1EboLRDSRaVU@jG{9q)jRUfsClCkwb+mF4fh8*lG&##SUAVLcH|R& zab0gOwVMdwmF<6e*+(;sC3=5n6(pSh;~Z>i?BrzbWcA;JEb5y76MXk^P5v1S*FqQy zz^N;3fx_m*5k_!si~1nVn$uavhEO3ozC7hJ@T>w~zzz?4p|{Ca={F@V6$ulB^ISYH?K3 ziXmrH#K{^{v*v%EJ?vhjOj8?k9FGs8(vWz|M5@+rjVO@ZX@r*ehY~}YKgv(td6JSF zF}}DK1rwT0X!`9I&KhREckqwVH!OT@iy1~JvrJ-c(nCXZrrcV=UkD)zZC-q8&S$p6 zr5{!=P1Q*#m>VCE^^Gc5xtcZ}R1pnp$(Hzx7gn*`45t?42XUd5u!-lT>9K}$CUgH)`lpS*v%awk0KcO;v+XG`G)KT1&U9)7+8sHnKFj%R^jfM+`T@w86@4Mq8u7le_t1Ihr7k( zU5Jll5-Iw6s@I^h|FRWIPp5=xB@ezgd)u&R+G6QFw1)69!MR|^g)WH(79AukV;ThW zx5&b&wgGSINrPJSg*HD;yvlQYfmQNwBo4`+M$w4&fKS`lYz>MJIgHe+jUNRq4W}l{ zzpK67%8Y?Xg2eqpAi{<=@Tgm1u%p^CE1_edVOH7}uY1N9tu)dTc z6BEe;Evivbj`%ZW39RK<4<%#`kg?>fU8YAfq7I<~N7q+LU|@^>Eyf|84V%Xg-EY+Hfa-zrcfifegK{L*j&w z(glpaBLo1y(g=%fZO=$Q#68BS6z(UQc%hDfIPpFbg(1@;|_<39Vw{1`>T1jp!833G?i#Zduj6PW@*?Hp@2k zSv9ohKk#clNuGeJHh!>`ngccF>LQP(PGF8XsWULB1~#5sg=Z}Qf33;$`w1=+(O2sP zH;po>vu1k%7p=+*!__P#$}%*{?6E%N2WwH^J%Ft?l<;P{xC~P>j&&NZ>LnL!*AM0E zD*!M0Go@o$K+p0M4nX`3(Uj`}zbhky=&Ft(Bm$)@8=~4rC_7T}J2N%IY!6(e+|lIg zdu#F!{@I5%{zGa76btHZZ$<#p=#2Z|3#6HR%*w~K0bAPWTt4ppTikN1a!OkZpqbs; zt(YI)rdceY- zA2vt-EGE$`+1hRgAv=CC%$_6}a#3=UvNGAz*WO%Z&UWd8@GhtTcIgIqul;`@6R zJPjjaQHMhWI;I8FTA`V1R4$J*_lN_Q zWkz=aI9%{|>m&{(;FWZhmHA%_<4NQ3WLjMGn^t6+Oo3KKtIIDBH`+m`NIG~16_`-I zVTTsMYOggid@S-BIQ^enpDFd$zBfHMOu_u}f|J|qL?RXJtR5Z{w>X$?uC$1vq>3dK z>kn_99XgrKZ^2%)u+@e(W(cSuOVUfZ`in$afeU&&AFIB)&F-OOq3*;+5h60BZfD^| zzgC)g#V>3h1LDs-C0&s~xE?RKYqo1*Tj&ds;y*u7{8->yc;~v>FboY|c+@xZh*+u! zZKi1qGLBNddPVF(5ZBiH-NSnb8N7<;^2y(;dc>rI%8z#bjt~JPkOwq&+$I_lKBLIC zp~{$=xxaRMdOM7mwV}`3d;}f2bL?)3ts4=H-ym?pVJV=`Zf2~DE$DNlwC=8c{2@DV zJ_sYc&ODbAjuNLf2?}N{08)OBN3o*53~4?#L6sZeE2xItGY!hr~8&Ey4!hD&SSzb1e z11oI6h{uGS@>$#U*=9l-1NwBRS0FX+p5k6ytes`{j1~pvb>{s6?DqL+_%$=Ou9m6h zX}CXv&CJa7RR$00Q+;+E_ou!6;SE__RAM(KSW9blnOZIRZgO<#7@gUheuqYA(m0Q0 zKMDgwI3t8K1k48l<3jwfgd6u7IEI@d$&?nf2R;Y+R0AQ5HblJRx+!(KMKJkW7S!lR zw!e00aeVunYEYq3F2e24W#;cG=xFaL@2c798UxyFGz4mcXCdGv=zAX{O0Gr9p6~l+ zD%M+LkGLljEfz6&a({X~+wF;LH$ft!*D3;>l^E@?Fy@{WFbh&~hK8Dgv)FlRRY@Rb z({Gi@dOf%@pgxNd5!HHtKtTq>4v{qj3;{ZXOgEeq~nGASCh?%^T$o%B6 z&pC&|xJ-bNq*kmrQVxNDemW~4lQx?SyVd@?%B##jbwGpLnYqKoytVm-hhn*6OxpAQ z!G~~0#HP?243fGN+*fCSE-cfC*D6*BfFFmLYr_GJ^El<1nJ-^=L$VKU5V?=)dnN*u zQ^TM%Z3L8N-W#G2Hq~d4Af2@iG?`IxezJU*oMFqBHYSen_pIG z)Z;nri5Ak@E-<2p3wBfKhG=Ao3XP^lnv{Za`;jrzy}dFgaht7?G16v_wZZ2$P#B** z#z1}zFUv5*CgdK+u*Tmr!${k~kUZMD7hElnIB;Tj(TL6m&)Z+H1XJe4&|9rqG}9uJ zfK!lO`-n&;ga#f-P=V61VxKci1(O}_(ZJe=A!yj{I1)b5MB9VxG##6-BOY3ss1D5K za2-1!9Lk@;2`JD-^gHr6sZ4C50BVHvYWlqmadMuDIElg#!yhy+@ zSC`jRZQeSE)j&H)wE-BYh_|bZ1aIOcQn}$`rGoczRnXl$0vAayd(< zQ?Jri0RF&*o|eu0@Eb~iv+4|ozj3xb1r0SusKB!co9j`gf(k^9LuC`looq)MPpHlHaoZfNZ{KQ=*- zpgXKexBtBjr#gEzuBodet`vtx)0OT+K}bQPxa5Ak4Rw;msR%iz9^=+sy)_Q1BDA;7 zb6oy@7(JDR-w69Lt$nQDzI^)bCDKzg1B0juynGR?P|vWinmOciIj4%lq%viHOw}LxO-U-jW(1Tvzc_xfxEiFEpWW$vdx9MZTngKj3p|Cd7{do#r_D3`U<{qe&pu5 zpiCQnNNMows;-(3fxo*qV!@EanY=@;;_2XG}q4RNQAlHOR(OG9+J8cI#_&Fjki$YiQTD4|xgKlXXYh`Ou9&3uNQ zK+(+6(A82iO-US9dohKlCNd$_U9Wx8cSGQbT^F=J_M?-1v?Do+2ZD8PcJL2TiRyz$ zNxzDjwW_Xe=6Qm1Xm6#)vD*iiEVpi|HQ9Kl*SFUv-PSS{(zwk$UF`9<#OJFn*a%}{*&|99B;#l_nWG(<&Qx!^5}tyh zzEveyZF%n!&mgg;_NwV*Lo=OKAt-b<1>eB7`fC>SypK1)bg+=y2MzP8J^p~ux0Bxw zJnk#w(%*Tb_0%16S=1dwRJB7mA~czcqOH7JBX24r?WXQ2bd-~&WB)D9r@hwUks9c7 zK>T?7-NNSF4xVks;tCCuVRu6pxYZQiMFU>9u$o<9YQz)NDna1BJez1nzJiZzVp|qDe|MR(e+k;sE}Qog z{Whk`!a1?(Y!<1CHog<`l;U` zCIBe{_rLI+^PpU+0Ra?lO?rSjqg_tR;&+r;aWiZ|Vm#b_U>S>O!8q`+Tx1K$oitfG zXPUFEnFS-1%V|0%6&JuLTGq7TgRkkd;P^nvrW~_=bjJ{MXdL9wb$F9V9H5lyP5Cn` zPL(70W8Jj}$k-@W=r8#H)My^p0=_SQVIxJqy&Wk3Yc{bl`R|AAX4T!;jo-3fu>;?< zlRcmmM*pG;k9~PakqMRYXOyxe&qo7zz3lGGtD4w0_^(Z_M%E(mqVAH_V?a;SmtU^W zX=rA&N#U(KURQQ^r~jM5gFfKX#;xZx7&Er1DFa?Cp%uA9^13WrkhHLdcApt@Ks*5D zpDwSHARcmeR=nq7j2T&af-w`rdV#WgDt0y0KMmmtdGlx*SO^F^kxhMZF2d3qbu2>+LRwQUhs@oRvr)B+ADW}2RCIx~c&zDKMu4KQD=}DMhu1HF$nO=DL2GD*0 zsR^S-d{HtM6VFrjjJ~oOXDXSi_{pQ7A#H?m)D6K0=WoJ5npek*7VXF6x{W4Sf{3BG z>452D#_KN?>3g`=#|;Y(r~m_54FyFEm1(XBRQsHh3R-i!8S6KDcND|4=r!#&ZyRxYI$J+YYD{c>lML`E%cgUv7l(?`<1J zo_v2(tHIT3&ERT)6XrVsQ0$Z)Q=s~+e4&gGDzJX`n_Fu>L=Z_q*k!|{FoO96xqSq} zFpA?`OIkCZ=@u|(#v4<$$+vn?>cmisG$A42Sb9KJ;wBHc&7;kJYQ(-2n@2z6hg4eK zVlIH9iYSZ($y@_$RJ^&I_|*liC7e|38r=wpM|6ExfE_kpIhZxAMhn5CJ10`)M`|-o z`{ybH?6$R1vaDe&|7vkmcWY;guC}w5V^Vdl!z$Cjyy|9-Z~3-#Mz;PE{!;*bBSwdd zv~+u%5}&zvU-71Gg7@?*&++C8 z7i;#E>7#AsZUu-1KL&`=YsHC4`EMEdw+!WX>oF8&o(y6@M-F(PKRh3Z5Zre>2}X}s zb1L41=8c)Ow&+=Zq!L6m&yY~H5Kn!Sml^8++_6hhzy_ty{_Y~j)cq?|dec343}Y_Y zCO_MRtGdNSTV<=pT~aMGy7E?!4UC?#1XT~*F!$pB)@rWMK4(jv2vq{-LHDX$4h ztxzOw4eneSar(;aAFqML7>D6I>Pf&X_dgft_keZav!N|ea`kQ%O|okt#ra4^NrP3Z zN$SEQ7IwfJe4+< zP$Io&X?N7ISYIWnF@=ba8wvp-1!^kzu~|tS(C;InM|?17`EhBry=+{8Z5RTD;E2h(A25!S4ngK2 zp1@itrR3$V;cL};UN8LpwBOf&eImo=mNLvJ9=WcEy{YQ#wSAxNU~659hvdr@a{!vM zPS9>BZ+OLqR?2Ws@?2n$P0KgplwQLnKSclz-#2t1K!{^tJXtF{$$~ZmeC+2~P6M9t z_tl?g7Cs^rOVtY!r6lP)jR4JWdbG0w#}sp*SIH88pJIerWZqvVr+;b3lO)9T^735% zncG2quyuE^43P%I8w-}df(B942{V7s@SSV4Hn;o)xosQr58CrzDBFo*-p>s=qnAAiTuX#@D-%_SyySR#GAvn7i z;2x9jGj3`gXV<$!u|(lM#uJP&!tA~S9+*T7}TtS2R;sN4n1SG;Kn+)>{G~|?DB5No5D>;hwTa;<&xXPie z5gpB{Z`#f;h$0^TPB|q@+eY+fvz$6GclAE!Do*#X*7lbuF0dXn<1TC_*VA;QA((}Xm!|}60}Gu zpoPiP#7s_q2F_Ey3aXJGsdS8P#;7O;X5N5=&sDA27$~;HLVvKisEAla5HeIcLL^1R zep_sieM^EvHqEYj48k8++GZVMoj=Y_zdd`q!sO_Jc^~i9 z+;sjBSvu({0E~4a{-G$g9B-r_w}$k!#25P4C=Qs2vgOs`>{vmnSltcgyf~uZ_4a4O40O6 zzhW5+e2MQkP^+jBZ7Pc?Q73Z520v#I+70sbj_DIvr{D4)s82Ao8?fy@Zda)904dBK zRLwryKXfm@*t>9s07Qr6gBot86}7Q!oiY_ZUaqORYpM+XZg&dCz{OH4k3_5r2g35U zGEjpIDuqhPtx(I$wrJHtYnBkL3gpolucHw*Hw-@|D8C_YlszNlzJEV2+o*GHG50vj z8re3y(p;tj_`q#DOZGYH8Vr~!Qe+yY9qDcX4gt#7@~zbxafQT~s;fF8!zr+i4-9E< z&LraHubhHymNxQ2`$2d;yv2?ls$S~v22twIAevG5OL9_2)JbsYmmzzenCVT8R)4~+ zFB9R>JK2L~MEh9lV$H8s#Ah#b`Z_0WTtTZuH=E^#FV6OQG8_DkTVK(v6=rM*6(W{nKq$E>unb;3{gUy^I7eHK=lO z6ldcsmRs%DjLq%(ig))tbo@rg8JZT;IE-MJ$8q68^Q`P*P z{?2dejY!9~{T5E5Ziva4Ho>iP8M%`7%v3&Sz7weRg-o(J4^tUtqqvwOw?0+>2!FBY z_U?ofDL-AaGQHN{+`QSD$ZQpB+L$rlq{B6Ym*QKqdNanp4fkGfk-aj#PWfWH(056h z_$r+OX8)PU%Zbc3N}9Ym>WV4>X>OJ9IowMvH< zolzoi2rji0XjMvaNJ_0YTb1pdbK;G~^`RH*$-Dhp{bnZc zW?sH}cxl;b?|pT#S5u&Q$q*s9OE_2$R8KX00(^GV#Xc zU*=CCGM_$ke9hj$VC(IrhTpch-R~oL`h#;K$Pr}FSw@ZePh21UK?bx3$2kB@h}ghK zkjN=;e(%4PUf$UWP`R1ZPi(cd@)CIH374KDB3T1jkf5XQ+&P|6>e<+h{WOv1T#P<$R$S7MB7fk>qf~l#`Mq-kQZ7#V<|L$_?=pP7~@7@ z<8&ZH5w`kO4nH?~UTydl>Cz}WPe&oPCbxV6XuyYWKC3rh%0f3~{*VD=9LPhXw#70v zP5h0MvC-6HyO?W-ni{rXU+i#vLE`+HR_g*!%J;5Z1zEjI%btZ2ki2HyJ~x^#z8DRJ zHOah(9!PH{M$hH|<0S)^&~ghjRwJf{%9eFR;M(+wO``K4?Pv#&X3khywfQ-pvt=XB zc&0NsMTffO_1oKZ?|%*!+ZwNqU%%mDtY5h3{~j#N4gUYK!^0{vwj2Bi-Ng6!B?1Zo zpd}KvK?MmYl;(-d1IjWsI#+xQo?RGyLZZUXxy$D~a{h48p6&cYQryW|jCv4S#`DEMtGdesct`Wr)Pq3zl1K7FL^JOgOadU@u;D)f(8$tGs#*@hq@v_TiaLfCeB{#fjFPzB(nqvN z{>Bz|&M4;?k)>HWcE7+;E!SMhA34=w6QbV)@ySFu_)HF_oUD5*0i~5Gt;xP=)%4Qw%!_x9>l8&GLTll7|IPYsP*q~IbCghxG?eRRMUQj;hKYHzWC&L&jRZL^L_e93pcJKS zvwk2h(yI6!$rhk3Ueig0BEpv;oqtHciy?Th@S8IC31=`gLtTiLdcHElAfPhIWAq;IATWn2PO=9H z2HL{v6?H$eHE=FtCffMZoDXA2D8}-3Dk6k6Z#Z(}nx463V*i0xiSKBqOVGA_UIVJj zjg%-^?pzNLt&k&P%~kKOPS>}@pK<-qpNJ-;X_=aUQ);_Ej08wX^rexY05w$kwrp?dbcEMaJS8%;G(ASZ z#PwY7uNoskwbn10sXftYCP=H&fa1%G$J}8SS$^|q;TSs%-ko~tGX2c)j%t#{@YJ5k z-FwX05A0~`IBG2+;v-pDm7ud66Z1$Tu_baS<|fnB(oyvnY+-2g{NM;XdXOx2T67;D+c;*e-U?VOxI z#9;oUJSfCLeRNy%f{lvdy1>x8@BtJ(d-UfgSp)~j_gOLNuXpJ=!ntz)6*M6*&9jH{ zXDjElMwZVo&mqDH+sG6Qoa;*vu0feHf&=^^(#1G( zAy_arxHHV)*E!MB4;`g#LK9b+d0@%gMuXv!94Cr(i|kTa&-@dNu&?q>)em0@?h9jPOw?_iiyIC%)Ul-w3d6d4a1FMOHR zR@L`>0t>vF=D7D7r5fj9kt`aa=9gfXpU zaQ$y}@-k5uF4yomm3s$gNLDy+1>%P%-yD(PyMR~|ZN88J1~D|L5k^4+sffm(REWl-lz+fH7|$!esQscJkfM38p3Uh+9(hdy_M|{hTESRaVN3RqnxE;7TE^ zDZ)X2%92%v=1DMZimdLrDc^mV4;4je8jZ->z?}@~hyqSHm2rwE7b^U7FsjMOL%+)N zod6#aI~CM`0CPl6X6amYCEG2Vk7G{Wbjq|!ocV!{lAVzETy|iab3`jKN5U3pz+n*z ztT|33K*Ha!2_ga&3iUlkzk_k$fa9$9`|)!87F&Om$2QD31eMeNk$c$ux(=ycCkaCB z=b0DYf5$Omwn0reif9l}&k!9i_~vGuF60+YH}676uDO>VJhtohYBi;ari5OgZe`fE zZIdbDGQo5C^pL$?|EUA!LtPLB`Qp7Cu?`o!p2C_XY>10Yi)c#&Z%YGBN}q8) z8xJ#cKS=69=LaWI(S`r9;9NlFWG2{mOMX+gnfE{TOHL18%ieZ%`j3r$6lm9R8=t zdYrLrW-xq(f?j~7y;)jb+QZN&3$Sq16W0J z13Dz4jCtA;)MXBDKhesb%(;8HzD;A-HRD~?=+1?WSRKMfmEjB>AS;Z3k7GOv0|`rh z0(L#}dsh1o^OZ3%vs^)QAUo185o7{(06f6wJdKal4)|Dx#fiFa>-_PvK&%uhH1CWs zMIn_Yx?4f1k~bl2aVHA&SNukZMPfx>do@~S3%W}sTkgVgu=<>zgQ z%h$I<{C9a7WTHKqOyOAH=A+pDtO~V_;-KnLL5GYS_6I7kw5sPW*$qv4V2>+QvW2ip zEOcU(;IH|b020C#{TdYTpvpK%jlq2Cf~0xXh8*=(5?*)pcJ0`GXV(6Jd=mt~;~{!| zwmN!B4+H1)@g>QnVsx#I88hm(9U=xi=^D8IP)?8LBFQ~yD>n-_o0nIKj&1j>FwhgF zj9&CHqplQS?4_V9@JX-JmdZ{#A!HjZE?yeHNf@~*3LEp4AkB$0y3FnGI9g|fQFwVe zu=H?zVTRg(tzWgx<5VL8ab68D;ZAL5`0Hj*J)bT2=iR;s7wA8EG67)*%SMU$+rH5sad!w}fZpzalmt2IIP;ooU}Sqc z~LfQ4Qu)qk%&9_DP}Fc@XptkM$h~S zhA&-cY{uy!g{lwz2kj5=2Sp!QFI!e2?&4LCd~3qDFnP}?eZ6g?R{EhdM#NI6{#5OG z5ChQd$p&jJxMo*~#^5j`O%!yl(w~{YJllnAFI}RMFeF+ zEpq|z-=3=VSNd|fznCTzKHI`muKDw(Td8}Swsx83LCzU>w0QIv)mk-{#!qN5k-oGKt+ZX zHXw(5o55^V?>Oo|9U`x+Mmkf(N-~n*5O`2$dNG*BHn%F2`Ds6JC~hee@U3|sSGHxf z>nO9&d^1WkI%mEF(X&o_Y=;AEkqPuaZ|MIykA1 zGdKC~;XyTBrA>AOUsJMOeR>#X7i*yew3^RMDZ=a)AwR+`=|_`cRU|oFO4IS8_Rx>3 zR%#9sSjJ*n0u%Wv?duw!PHJrZ#j|)UQea$)lCA6sQBW~$bl#TP+C0z2jvm0z zt#x~9Z29%It)Rq2WQf+OF1qPT4#Ft)q;X(&PR;;guz=_{duPIRwxf&jc{ncr>1S9! z=G`cE8mX25LWMqpRf&uW zCC|rsFw?o_j)Cveq=;qdb642aSy6c60c?muvjui2ApMXV6Y25<~LQX|7y&K+*<4!P0R8qf5n41P=oQ%u~!A(6?-J!7xP4Eg0I3&1WF# zhgpL2D@`OH>k+T8d|Bo~W`tNVlyjEC>hQqqG=@&Ok5(ni2`jVbA#nTDn$IH-a~=DI z;0GobGbdlKEv2-n1M^`qMSUh%Kmkn(rkEwnwBrC+#|1MrWP}IY++s#v#c329$EG@) zzCl4;2A>maiX@qDK!#z6cPNM`mj!AV4=Z*y$^+ol-M|~No#<&I&Z{HN_s??PZzZONNz{N! zPJKuw8hy5IL)x{+fIGuy#Pn`MbDL>D&DhM?Z1nSJn+Q<9U)ejsbPjdO7Z0;}Zn)_M z*=+s;gYP)wS8kJO1A)^Y73l)m-iMDpkumc%cdnV))NXo)`Mzn9)7*A>U6qCGY()dg z$IH_(1QYkSXYJREnVwaX6?tp<@tnrPI>SYt`~AsjUB+S)YOJP5J?OmfSFJR=48VgkzGS)V_-EEOML`p}sE0C_>+!SISh;K8?OTU~<@xhV@psX9 z{Glmyc^i7%O;(^MjyAhWiKjoJO^}-BJVZ>ue&qH7dE%Hf(dkCf3*u{}DdwC9pC6-U z!|aYL(m4+phb>l{=UJp4#_VQzl=KeL8B2bV>txrV>Rvz)FcmkTh-PpKMOA?Kgno3cu$!Duq~hJphS77^1RRY_Qpj+ePZg2RMyPX2$L=B(R_L?u%!u`-u9Sh zi|A>W_ELJXjr6fiZ_|D9Mf>UmvOCDjfT_m3cR~`TRGNq~ZD(&96YvMYQ+Bk2)3@Pj znwd>Knz~F_@ow!c)YKcyZ*ahEhDasdhVFK(p2Z;Gqe!-Ug2Z!-s>5}aIe&Syrn^v< zHBtYAW9~NlhjzL5F8x_a_}VhS*pi3{F39cDd$ z?45#ai@I&iv~AnYojYyYwr$(CZQHgpciOgX`{t>rsHpSbI=5D=6)~UITOXs%-g^Jq zVJnxW_NA6mK8rz7IHbfUBesJFhdhN&?5Xl7x%C2x^qD-s8dDz@)Z`S4TG;v6=Mt?b zS{20{Q2zn18H}2UGtZcK8HOgrKcpvSHOnPYcG5y_u_|}QSR^6Y2_OWT{UK^;@_(~E zIkS#f-STx>u|?{axGI%|0L_>evc<2KY$oDZ1Yy&}+^qbdqF(=q}l`mzl+ZRjG-o5eM6K zw*S}AVjzjtKho`0a$i3B1=$y_FBT>`wDTnkR3CQVCp3}Nua{K6*e8!>H43!nm;99r ze{Y1lVQSeS)WHyT$AViFj%+w53=pg7PSVfIgOiL;m2>CwD)5gD`hf1P<2WKJzF%t( z*;5~2@@25tkFAI>YgkWreOTafsvY3^fgRoea1RAzwbqKDnT$q&uq(V5=wlO%JBfYe z;?AU=;59&)=9o@Og<$_5w25A`W(*s|5X-qewKa_+=r848e;N2RM%=zR2GNTG{At=N8}S> ze>@`CC>C7EEoW!`Hq>uzU<`qCZ2Rr0> zi8$#Z0Y?3Jmqf~wj*-}SS<)b?P7*jKqn+JK;oQt3#kKkelfM0(Z>HYFrj@mf?9{FC zgTXH!mc~vwMZ8hd&T3*b3_4?%gDSSpp4k=3ja^hA8M6eTmrDd@zsQOOva zRg=*UkmBO8fEB>pQ2!GMOetk`&x$`}LDn{daf3#X@`E@VN&KQWpt+thr=dfPtF0T* z1L-CLU_m*c?|m!5veG>{)d15wS!3U|e-ggol;|g30F%i}&YQN#w#Gr?T-E>nJ&jiz zzGcpXbEJnr*FsdI(JQ}6Dc8aE`cTko{FxBTba#O^LZ!TEtF_)$HNtG$c%rc5A=$A#+t(mP^LyEPhV$A;=I1(2tpnL?-6OdrW= zXsJS}Vx~&;kGYaT2c%ht?-a5I`^J0l<8rA(S(hJ5@F2+`C}8F1xYq6Y^fC6oln&@A0z?)a=hJM8cL6IyDGR*;o2jC zvgcZVema-xH`}ii*H)kBuVbP@ThP+h#fLG3D`~5f*sDxa9rdhPB=rX=>~NSTNm2A} zQDb*l5xJ6&uwbI}$A2NeJ*13ODgcvLq%FIOHzzA;N>(@H6a!R$BuJah`TYjbJ|!wR zLUW3i{+pGk&orSE{V6@PH(Ahrnj$XNMK6LyX+NLu7HPaATyjo^>%@ww1v{wxW>Z`p zrzRm|Rl=jLV${MsVAi4!+`!i5#@78}|EBxkoMqzBJhp=*e8sdjTB|v`9@JSkY=jhB zZj9KrQl=K2(G;N_-5`^~%{kJ)FL-h4oy@qKc92K;NYK1y#Yh%CH zrCj>Sl8GJ03d61cg6HxCjM=&Nl`^7>uy?P`Ow0h20Ba!5Vx^L(wytb3O zx{@>Fp^U~DC;K17JU9=hOGA^d=Q_$n^Jt@ejo|SHQP-+fP^`f`nYu4=gT&X|?LLrQ zy>@^&(kNHPJDzU<)~D$5(aSF8XS;F#>_Bm}#i?#z0}Tozhi(qlmJR}^DUFE-a1`f@ zDCsb%@)yh19j|L9{rdY9UoX2&^$yHaX5k3pwy-#XXXmGrI7|zV-V)Z|%s~^$7!)o1 zsx9q_t%J@rKNDoTaQ*|uOVRWOgHDx7?<)k5oo_#6Pe_&8ZQfk>zUC0DkVxf2{pdhI z6B&wc*dIM){K|=F(|N+!!TcpNT=gA*C&6lmBX&ikHmxuCqo-lg*PKD%{v+`dDk;6O z01S)!6q$Ks|3CH4;1+(E=fjIKZL{6RL;}3w?Y#rm=mA2A`&Eba`4Dg9cw5<*SQ3@a z80H53P+BaeOzzk82s}L{j$>HniKdarGK2LN^uTc^rYc}ho@q(EbN-aqymJA5ot}>} zIn88FEg}?c24a9jvYTp})$gQQ33Fs_<6NnncnzW5N{B!<7)gc}XiUy=;?)9pQKWay z6y%u>&a5DL4F-wE7+qOY=_i_E1$WVSpZfi`gGeX;VF9(H6u3aISATh9#EvrDu*L7`yTV~gM&k|qP9!1% z5C7p>gEsv-*R$oqs$;y|>GlKIs9wX$7pd&mJ5xRnQX!yWSWUbv0Z~0Rd(LB^nF-eL zp9v47wQloN({w$t_me~b>}{Y)HPiQ3K(AW_!*Sm`O^ai(>9P^#H%aplHBrzaY@hD# zpOUX&S8?%oad`7#X~)?9ueiaG@c{Ms0NP|jUBONNYXwOI*}3P6nKz1<14et{5}H%4 zqA>A)>G?&Re_d8>ygNPBO*X1IRuM^w4Q)2NUmWsKgpnKXf2Y4GEm@cg9MFXa?V!BV zRu~-LvAtL2!aWF5l3FauxI+jW3Tr_{WsF1cQ|$Cs)+J>?D_}uFjS~2xp(rQT1c**a ztJ3!q9O_`@*~_);auXtj)yd1t&4>#s%)WejBO;VGDLmi5or^E(cFHZa(wAX6Mw=x2 zovO&Uyv|v32bc#V9#;@%27+=>KH$u;b4?hpq z{`y18|71z&N++1#yAoANb^!*JGQN2S+9 zb>|BZZe}#8rJnwP;`!u^!ef2YFUoduni-+45(H>hft@E$OA@PCg43tluW$EpT0m>8 zQO^NWD@E8n9-gXyV#{$F4_96vqmFviWc6mx{S%W{kJ`IJlDNv(8<%&4@l`D8(`>N6 zLtB(g0DKxyGF=?E0Hmu*`5R~iDS;fu7^EmrZ!&GsCDMp%1>9_(*{~a4j>I;x8bM;y zht#DRTD}Iq4Mk{t+Ud0AM~6a_p6agw>|FlU&m2u6go;6N7(0N+kP)&Ch9i)F=LM}7 z)E#kS_wXA~(= ziC!61;vpq|`E3H~N*0pMoptlyb^bUTP&CzVl?DA)*?$ZGJJ}lPyZ=wj;ck_U7;IJ; zZ`NI3J=Z-GZnfCNtBo4NMe%4dVVl!7zIzi7p^X8HqH;RUbgst@!Kq=s%`Fz|>~nLP z@X*jh#53~*l3Rnfb6lg!;ack5+y(PLIDK|@K5!3jILpMgAj{|n%qVG^jkMkI5HWDjc-;Fj%>ZYfP!$~mE8QHD+B#3r<;<6{2Y92im&Bhx~WDpc@1hQ3O58v zQiDr$+uf&=qZfaHOoaIG>nTv#SL6PmT1A7-_<*=4jTd+C9Eh#P-0!Z*jAAU6=T;ZNf9jUN~9}CQBrvL35PIw3yb@#Y_!&QXp_TJ!n-E88^(NW(XR) zQI6JKjP08Pglr+(WF@L+y&ju>C9D<Y5e!iNtof`fY#)iNhTXazu8b~z)1?GcT zfc7CkT1;0IARzP!9cWp z^K2wM!QvI=0iX*H24iey9)!!lV2{ArwdgQY2*jisjE0$-T>wL=_t95f~4V2~4Tg+2ttmJ@W+`^*!N6 zpUu{?(+Ob?)p4pvk|}Qn8=fYv8^QK5Tp?N+dbx8KLE>1eGWttJEJ%QvC76}gN`L5* zs46806|shz#JJC8%+xXYbx_>JD)*r&%OgPHqo%YrR{iVI4kqtoGOJUat{by9Xw*IZ z+G*HWslQAb)9b^$Ri3wZjd*`ow7PT9H?_W;u0*5Gk>8hJX%`?z&bL8S#2bH-B=Crhw#Pkzt>VLz=A?yE1^AbKcHY zU>aYmbsWc+$kfPqW%pC^t<&3D2(PmY!P7U8$P!*vl`2dB_~KLJcgx-uzo24yLvws+ zPrTjN&z))H_He+WO#E}KZ)nt#2}$*vN~1eBvx?1aGy4{wt=-1o=!FkOzv}n#J-Pg{ z?JUgopr?bE(aG^;^KpKCxX_K+&az?OxXRu_r`PTFX*^nOy|*g5!kUjMV~K@$bsR8# zTyr0X8uMIf#Hl@b>>`i;;$&s;@eWGm2DV(g$O#9Rgj__Dy=>kMC8fhIg048V+&RysUy%j*sw_9*^8rC zoV$inf{zR^cYI47#7n0@+?PWu=>rWAtHQ`0Fpz0NdSptj>`##kR?o$d3@Sy43!9|a zdG1-}XjtK8vtJ2)nSlz2Ofc``ugVZUJsgpobj4jOj zsAjwVsSWfeDH=A%IR?&4>Z9jf23%a-2m~ClqJ46Z5ua?PXxulwgAMRe)=C=REjR_Y zR;aj9yZTJB-(shrW3ni?UDL!6ODNwi; zI{QA5y`clckG&ZygWIe zFtK;(S}bXK6GftgL>@B1BTemy{ejEnfi@o>yGp)uW?5r0)6q3T`}8vejk`~??Ngnb zLLexI8{*R%tNw`etoliY{$jmrQ3UqwDQ4LSx zAiD%4458kcE<|0EtA8ioHK|ZHgd0~ZqJI}31kCV{$OJAPdf7VPhLr$X4A5ia!Wo-| zK3HYr`stQr>cXk#1h|p3No>6#LqhAm^)1j$IA)WSx}En{O-~LVbbiw8cw4m{2YXRr zxd#1RSU{-{>H=Q&lZcGQiit7BXtU)-GoUX)*g121qq;gO$TTUP;=3Ywb*XX*^r=dl zs_r@HR^q*DB?WEOfeXM+&j7*uGcy*4bt}u(kkRY?RsSstm>^rU9g?<=4%jPoN0d)5 z?cq$zA4b|V?IuQH8aEXX`OMFj4%l6<=R8+mB|SL3M|->H?<+GHV6QUxgSj(3F07x{ z&(lVUVg&a{m(hXv!KDzYW6Fcg?Cb9xyD_9)mM&8u^)C@d$OD{4X`zeL$sv%rLN|Uk zD`I;gv97~^B0b?W_=2%V13CmatYADrp|8IwV3N#`Tnl)^#o9_a$W$jutt}i;qGTg< zL>R`bmGrNk-1&W;N)XrL@vl#S8px$p*w+(VyxbPbr4?%CjJj$Vf2@<=fNWR)D$Z*` z(liMe6uLcLAgUaGD07#oQod9hk9#+|J--8G^3iyQjNW>HQ7aE5=o4PHnFqM%{iQHG zz*QDB3aL|qsBdZS36hQ;udAF?AwZ>?6T|KtNSLUS|72R}Os!T{HbE9iNz>vVcVId3 z`>Nu9a^WxT5L`|HnxIYb;fm27R0yd2xD#0-SLPXnNOz#|IR#`{?44!RTir<+VO~b7 zv(}}a9nc!~?Di;5IdlRU=uEvABJfcA%S{kR^){)n!aX`5UX5E~@j}mUjy|sK61_wR zn%8ZxP@Ld9>1efN2*UW9O8=^7^GE<;J>RPXB%@9_uu>z zM?-x_V@Gq3|4|)H{bmyG|I!lhD1Y)p5Y@5$A9y%|5pWahI@=8i(EnY>$dH>|hNv;x zj97=({la#2m78HhFz7s48#`nEvbZ=aKPk#8tG@gaqErYVzwY+ch1O9uEPhna%<}Uc z+Im}KbE#2Z>z8^0b$Z=*z(3vH)Yf(azq(&;_Ri0tLX7c#kYjpB?znMm*96m`SQXIi z+}$Blfdm+nqvxpwnNz5=wecdT-E_SG$^bO(hAHAQq%Cg; z)%f#{ng762t?x*hd}91#ONkGukI>uaoj?HcMF}?pBznA6AI%%t4aW#Jyy9bpK|_#G zwU8DVsd`q1=-J+RP@<^Z<(x04)Aq~9XctWT;0MT$&?jLsEe3b5RZzvrv6GdEqc`9v zWRD_&s*hyc-yKtX^>^70n$QxK#bU^5BuS90;uvTk&0PhA4u?s5X2JD@VC!{LaKWv+vg!Q(pvwMR+XhbezphN194;@bkEpygo=;m z(@uf8NBfsZ5Zoh%Xd%~#K}-mg77j5eW2SR?^VRt(kZ^N@$`^V#0Ha#lb(Avt6fY#5UtoXcKB|bRR|` zDHWdsyh2oje(04Un&L!e_HJy)*i^~+x80-&2C+kI2zwAc@L=7*E{2LBTEA#t)HJll zBrln8Ja5egJ|r#qH`CLjhT4?TeLP=a3T4k(2_ex&f^tZR_#%Ktno*H!2bJ+%&)tD0 zfgnVmlh}Y#@;sq?qO%7Es7m@k^+@DtUj3omIGV{h!rrMnzh^R5#`h%@uVPIP&s}DCZdS2v(oyt4(kR&ySe;sMX=0R z{f|H{W5ikQNM04XM^;cxuuy6}@9@1k?$^=aTs=B|F6T2rqUrAjLqe)pQGM{!0*6JC zb3jP1+UM3ty#y#kk@NvV(ZL9yuYF#W6pX*~QI|#0Y&nTTJsguAgA9VfJ!u7TfHCGS zkUYaI46HH-2EH2%PZi2;tP&*;h(!Q1>Ji#PJQUfVDo2RfDJwLH_AS5bulwNAyH@*b zHu-0zExST4NrTsR_nr2uPdh-@c#mgpjm-kFj3lCWB-fQvIU>*uf(rZ7F8{5lsxn)e&4zqi6R#zXFg~;PWL=CP-fy*}3yJti05P*M z(tEN_`7E@Z*a3#fyj*{`Ea;{yiErkS4YMKGcT8s<3+R(wbRq8t@^;Fzj9p!Rq7(=J{ zUhHoF`esVn-Qvu`eRffyvRcSgz`fSYJ}zAjIcCN^Yg;0yB4_t@KQ?G$<%Suu0iO#D zEl5Xf1Ks~|Yr8rr)@2+?RC|f_g_uS&L6CVF|xi;7lyhuGR?R2RGm%fz1^Pts0^!VA38EN_|7hrRky>=!M&bk?M z$0v90GPJ$_(e7&0_Z$#TI6ZjuN!XUvA9`tg^vT)gWvEHYDBF_L1dc(nbv_U>M;d6(FB=h@`u+1F>47aowQjXWNcSW zr1#Q5Qx(Y+{WnX(gdVCRn zJA|dkyjsBzupj@@80TvwA9!wocu>wk@n!#MWcWy8xGDQo$I34B{y6^^nTFA>MR~i; z#;HE-1wJEc({aZ|cg#WkiF?OM{HgMV?9w2#x#ST@AHwT;^TVUX>-q_7KB?*NBq)36 z9f*_ondv5>_nnFy(G>a$C7M}vTL+|jFs`IsxkhwP9?R&3B471bd&_DBWW$*2#na?K znuU{{#cnJ2q}+Y~nnerAZ9ZMiyY)vWl_=Xg3g9a0h7 zX7bU7tg7U9;`13cR-x>tO`SbVt%M|8X6paJhiFL}e~_6trBrO9&7UIF*7r9(0`e;s zz$UEZk55ry6_)zJ!+Si*9mFCR2oI^FN(E2lVW(+0(W+V=c>d$|94C*1^s5+5vmUJ` zRhZY;A&SRSVMgMDvW4nDZrKi}1Of4JKRNDCx{?w5fGNzL5+>t{M51tfR9TnsB{I-H zjj%bbVBc)1V0<=+g0B$>ALc(^%|ndtYHIWqo#$cNT!%+T#jla6lS1#wlmCfr5++%! zUHe@~0{+z{|B+_sYU^P6f7(cD{(o&GR`18anMDM+(hQ-8%3kqT%zE zmQ52H-cXh>O%{T!8^Lq|L(JY4ZBM`4_{L$0+KmA`r5AX;T?g|95;uVQQkt5&vF62f5Q9~EM2YK(;CjQEty6(e6r1OYO|}C^@{)^ans4BOqewHkEyV17&vCu zr>5|aka&V`ZnMOrskN<&-0YU| z;YWN`^RxnJ3A}FEuhYqzKoSxPMES*t2U4>?JOIC~jgA7X$J#06WlptDV=_-pW%w~* zZSwD{#%am4&OXUyY|A)j@ODFt^l0JX7@^9Tn#G&dXlSzvesKVP^lXu88_8yVh<^xv zIR*D~zQBw8>h_{{Td~Gs?dICrGHo4z;(|O{(}c>5BowrN8)pDWheBr5en1z^C*dsC znwKw4!u2YL)8!E}HIo7kJHs@XWT3{7s^uT~-i;eT7g?fA4T`PNi_UVX{-~x;9ak7ru2xNs0>ZAA&y8vjUCHJN- z1xw(ZfrVx1i1~NMe##vN@Rc3bJ74z_T$E&Mw!eTIb}Feia8~QI04yqGkxKmX=-vF$Qv_eARM{N}fcWt@WR7u~;(%iH!{wZ-erb7dn{1Hz&9j39?lFB|Ewt~@?5|)a-l9qaV&CAlxl7h9)=W5Vw zDmAEGM|9m@&%J#+I!BU9XgK5ihN+;OnAra^v2#%8UE}zmNRYq=a5rzoDJ3& zt~!_bN?iYja5FdipX`ao$Y;yi8wq$cF1ekTvm*lQ!NwQcob~4OC%qQndk#Ycn-4st z;)u@9TE|td!M2UAMgGCmTe_TP@^~X&H~b6>{DF(Tw)@y{bR;z<4woNKFI%}Kh}rE( zA+);`0*{j(^hehfN|tDGIZAj#fJ4iZp=~Uea}iC*-w5h)8<`+$Z2zU)`U;%2PPPU$ z2{KEhjT{f&c;o}baK%V#(mP8hP0QuYg69$OUVe!Ol6XSix&sJGw4B^g+5LaRdhmnki7T?o?y^?S3zQk2%nYaXis3(E;7`lRWp16w=q z6Rjk#%mf#SQ@7n+39g4|bzz@z)4ydO-0Lfz;62*0c7;Bg1n73lu#GE9{!y#M0J`lP zsd)TtGXp5tWv4Jd@| zvv|DOoVQ^u&iW9ZoD8!b)z5k5@46fKGVk$Y`pn{0nxN`F`0>acAV2E>T8#N!&2 zu=9ge3=wPIt|+1s878?ASeNbJ*b6|$m_j!##pBBv@+$LA=MZBTSa=?(0!?9ivE#a+ zIn52eiTtUF7tt6y&veWmgdgrDYQo19vI_MvxMol$F8&fHBd5TBGFUu=?i(AE=zxq^ z=YrC}9TlI}P-7%?w`r79losedz490;;$w`A3FDR_oEV7-a8guas-v0&Q!VLla;c%g zT9@Uc-4V@fF+Vd5CQUwv3wj_sZKHMyV2J+ef2rXz#Xuz-h+vcyt~v7heWfY#<9l2T zDuXaiU_^X ze12O$a#!>FhE-pOB14XK6t$m|lcthf0RwJziV)Z)I^L}6taeVdV*4Cm?nb2$-5fSql7i!iW zNg+V`Wpb(<|R4?hrtIDUTMp$P)X*B*4Y39N+?lforG{Ye?iX`+z_?aHH2s zRE1?PIb&;}hepkwb*uI@&(FuG{9nK^akP5vPok97upBcEa99i#?11tUv5>~VEW(l* zi^sEe(r*zXdohj@_f`YxNB_pjDxP?XA1&xCx!QQrxmr6uV4a8D-N(cv2$-D2BcH`K zYev;+q;?YBXo&rccjl>wx;_0(bn?PpE%|fWfd*FtX}dBpOUBbw?*|fbiX%LW@klQ2 zjR=7VgwL6vC7F>Y-XR{AL_x3`YmF6PWArMI{AuRGt~&?3qrdhYWJ-1Zlu*}(CsewL zQzTB-`Z*IElnuj_4DAcXrwOLEk=}qYvie-8$qVwY%z5^B&!X^4do_GX11M?&L%Xqg z)BtGi!s|myUV*!7u@4G-Wx(y(OaYyftcWdtPAcWi7t9*qeuHMh0fIhus9IEI-NuC6 zB|r&-FFDbpUUN&iwcw@`M0*bS#xd`?WkU^|R(2(LrLNHFm~kea9!IdcA&fm3BKJ!p z$9HS>6nn@p1W~&bs2pf-dU&!-Q>#vNKP!0ndL>uwx_?v2JL5RcQ0=gasXm}9?cQeI zFstdy6{Zh+C5=}#cG16AQLgY7G*o9B)kb*aD0#dTd1gI;n|tBgGu^7H6FbR8Ow`s^ zeazgwS9J*wyk>E1jn87g^Nh+nhSrX|MCe;g#Ur01q>D^GwjB(`l99S|Jgm%$IFi9AwGJtxJfOsqSul`5Tk8CaSGQ*A&6q*D8xGzz zbB9fpdT_GmBIsmEU6Bc3Ir^QrBbtce$WqS~`Ku3jj~aUZuS#JCAOykQ8l!V%7$ONa>U)gX(GAd-$zQ$;CNUsAgq=N&64-jIOXkN{P3K`Fbl+W z4Y3vhviTFgmq&(XB;>S8jrNYukB* z+KPMI2u+O!7EvOTU+Rml5RGF=&7NLjFuGA=BBNRdH;TD^8P*K>W(*h3Y>!;?AOYDK z%v2VBL0+#_FUJ+?aF|O;c{LQ6Wx0#I!J3Mi(?gI0|JPP`y}qHWysXQ|6#oZa;l!q4_b z=p*fgH(SL~S-{M#zm-+v2^U#K{sRY)3)!hXowDXDJAzQ+7jej&JlECiLa^9a2Ov0~ zBrGWHL{NlI53~KwJ)9j0k$#p&N7^flQd4+Ekar-}9tD=y!WXwfV8^O2fz1I0g>M6K zvD<#^F&Vi?uqiec`(AjT6W{F!@i+qOxsupi>|48&z6U~6V5#(8vTW#n;RYhgFzLOWRCkOLX`!c~b>F=`E zFXfzLJjfoa2-vq4xvRe2(b&Q#^VzWMO7<9@cbHo!ieirm=c`tMM2Lf8bC^QE^Mon} zOe`^gFrMKVikuQ^F<#!5hs@g4Tj3G{#zJc|VjE~C&Fjp_kl;p1Iq5UBafGE*;c0+W zA;R+L2WS(&e%h_nFB=l7)g6{MjAP27njLM?&7+$WckpRFteO|Cl&mGV1b15m<_OMD zi818K8Q4~Ay=|^aGao^OM-R2WW2&_n>&SioS^?HUD&!scS#BD>X2{T=73ZxpOV=_S z)M((o8eLU8z&sjXB*()fJxfV-w6+0u>gnWZg` z*WA=&PQ9F^|SUpWI*yw=8%Nd>jDRjbi#{=Ii13a8|plYcz7??voiZyg~3 zXVm2ccg&(aL!Qsu6nn?PnzxO`T$$+|gabfEHS4Ig08#f~!{cv`bX$!bEQ_B>8#=h* zM*8ZP?xj5)lTh4`s1sohMLZ*Wi!1au)g~=(;x!x0V?_|r^jFfb=<&6P_`eOH9QQ3i zgSuA>6vY*IC1MV7bf0%SpZ;u?M67(NE2(c; z$M>0wAJvw;v>(|E0}~U|uU^6n-%10kpGYc|LP}h4DYyksRo3nNBBMZmc`JFEK=c+# z2I=l%6;wg6MxOVNZvS1Zx~9;Z+{pXFwcN+UJNIO?(4C1l zCON0KE|b_FCp5Aw_w>z|9w!!6liC}Ap}mg}_n>nOv2N|8FQ0FDi_}xI{l3fTIEI%M-L(~MD@-&Ok2_4uCO%6t zr%iVqA=q38-b^+ABw^}Y`*ZicEcwkSDMUpzaXaJ`@loB(;}UCwd$k?**gAFi zZ#R#)z0K(-%si$WUNrVv*b<)dwqz5>QRsoUSwB3x&f*$RWWd9~#Zz=y#29o6Igcsj zjf+e^;bnbQRJR>o_&`X$aKgRaGBuV^jE>`d@L&+NGM3P`JP!%ahdu$phkDT9vEQ3| zBIw^~Z58k0L!Z1AFtd`PpE3p7?nQ2%ZwRO<#=RQ#P@U*m;>a(pZV_AnEq*C9zt?n8 z$nsfP5zT`(xzzUL0z>Syc;<=(?KYLS#_zGVn5CNry^}j9^K#=L5P6i99V+3CmuFT7^9DrMs1}G$_ z*;YnN-8_Lr-SPr*HP!*s&{-_`q(Jh^DLCp|!Qcica2J;SpEm_(o_+W7KMZj~t?il`SjTWDg)g<5(ah0-UNU_?t zb{#24B3`=JurBOUFzUf}7B}E-OeJkI2AdI*mDq2Yg|J0axk@rYR(ud~cYWln&9)9{ zVS53yIjQYE5c+)d5rNKqK+WBv$tp|00a;pk2z=B`oZRv`bf>`7)#*NSS+i>xl$1mc zaWf0{2>TSch3l!*7AK{%?$`I%dS*y^h2)2A?V$_{crwd9|5aKL+jYA=M-oDf$s~Qz zKka@$Z@?}dQ%nmXH+iZlvZ%a0Hy$ShN`GI%OSSj2Fl+b`LsiR#Z}kkGC(gJ- zIiRpKUqgWWhI(Af1jteMA%yP-=+Q?hSm365{fWA++#Ug;CCV0Y;s4i|kxWSX$N>B= zw!gN<9WM9~ zweIY*ayPxLvMZi;W>`Ym_PZqKNQiM6prjolXc%5Dm!CzZFd^0oWJ1FzlH1#L?OWce z4r5MMz5$XiWaNWdO(ErJO9VB$Sm$qRu0E#u*Bgt(OIurHHXi(A5rWAPs`i!hUejd% zzsw0LaRi&rSDG!`@eI=yRcum>x~a z)?WxoCT(FysRO8>blYSg4c8CuP0|<+XD<41wQqUyBt=yV6?DSW+&RAIcYm9SJPsff ztbno}^#a8mSYd2HKkP67m26A+c8<^XfDi{r$WPkn?D8)3Z8U1%Z)&O?K(wBnD>T!# zuBUxbsGWvK2AL)`VgkK4HIopg$ycc}V@r)DeR0EBj>}X6>6oxn_$(1>XT_4k=uK=7 z3{wdHP%JBq<31rjC&L+}Ox)R)>&NSFi64HP;C+Vh5zx8`6g78Yh?2+luK`o6^}NSG zXz~H=mPosRsye2En!v;G%k+^grM}?aF=!Qni^sJrBQErKEJ}RoG$qCm zfe_f%VRYgi8E=ZKcW{TiEA+{GU&q(CRl*i11uQ={M(Ehi z@N@{(Uy_GyVD4KK?(^>Fn;2aB=idxoj_v;b;}@Gx!jKAG%j3_FL!R-{f@_bHi)u*j z3E<)T+gFoHvgEe)aLz*j)P|$lx1tufiw=Vepra-xN4_OQoKLkynf%<9)1B!*=Ol&a z?*MVKI6gu@Wd-@#xS=~DLfB=bto-aNbAPB~%H()ncBpm<1P$SRf-u<`y~hwHpdQEY z&{9kq+{4kQrzq{S1euy$aR+O!;B7q=Z&uS=0mO`BQa!c49SFsla7$Y&dUc{nsA_~M zUuT9Q3Zi__SAmC~tEIztv)s{}iNVnuS4|E_8CM}=>iWVaAvOyGJ-6N%8y6;pnLa=Y z1B{reLJCi)Czo6w!Z7qh|6r+vk07E51dXNFs1u#}{42(aR}9WOW7D*RN`j-rsB+fN z!&cLgs@85uidsm%1klC0ss>h49aGVKcEWwVkWHqV5@ zvVzK(03@c|Wfk!>juls>w=8Un$fRf-f{YNu`JyKG0mrDeWEh+a`IJFrO9KHR2DeWH zI@2+Orml8iWdV&0OA+_QDZ^G)4P5d*L<^xmf7z(GP@zeeK&`>K%LV#5Rt>$1Q?Z#x zM292xni4CV9x>=LWcdha9!m3=eU_uvr1TK~5&6w2nz-9u0W&1!(l>YQnJFrs z%Z&?bH{`8jTYre5nsaD~>u0Tv-{z6ay;m(teMGnm-h087tRY49CxY{;@X5a8+f^+` zk?(A=VsTr^!%r%+-rE*w5F@;imR4+*2~`)DD)^Oj>bguf>h9T>^5uIWxLc29w@K>u z?gFV#xVAW;LVGBGeB}G2oS!Nb<;qbD!zYs+ql5F!18hF9ur;i4fT;KVB~CW-Jn(WT zdPHnymp-{oaYwdqigjQx`zUUbGOWqx5UY0K1)c>D6K^7QjNS!3NfjaBm z6RB|VGK$rv6y;2wRf-ExLF$#>))peTY@)6316*a39kyL&muCxZa`GcEYP3pRY+9km z_U21uyRKdaJTv>0Rrrz~KTjxnr5Y?Hr-|KO(%VG7mhN2csmiVyNq!FOb=_2LyWSSu zJI97kyL2sg6S1zy{qTt<(%)WH&uCQcJhRE3CRy!ag}ESERLLu@vegBF($9F~B(JRH zEc3xBWbA)9MVDgu+FdW49J20hDe&JzP(V=^$IfFhF6Hy9nym>-rNoh}Ey%XA9U`oz z@}@xQce3`Kob?>$Q5!%zo+pX96;loH?ElU*QQhHmy5KTJ!StX+jEUrWHDISZ$NgzP%OG zOEs%!Mk>#X*IylmRx;M9Z_fS6{%yz7yTP@mBO9rWH2Gf8`}&4#&cD zCi@hm1~N9B7lQMTQ(?~e9dUi%?0Teb(7Tue%gx3ZbKQs@bjXtG-e53x@8#MXZ*hZ`bgS(u{_;v7!a(SazCX?!c0@cr?d1*>xC8awB(CF^BFO_ZTb^sZZ1CnVT$o&jsZD$Cpd#24}i>|jLEwz^z3{Om7lbRdcud_M|3}X{WN==6#RqTy;ThL7KpIz|FiFF4WjTR_U;eVu|N5$R-Dt7hbh2_tdOpJ`pjkuk#MHn2~pP2Y~Dz8gFUyb7Nudwp+crqVZmG#T9j;A zxD8yvm=IK0P0AsA-1W@{v*^EB>eX8A&+x8VyrIV<@3?CWJmI;Lg2rSxn?66!>- z5c!Gxrv!0(XR;|b zXR4!OUbxFCC6=}580RJ^lxOg**HBgrketD!J1>KwS5gMG1~s5QpclZ}tCZw`j@oLU zjSG$oGSAJpQzwjMCJr&?ZQa+Y1*1ia$0N~eS`!k*ddb5lI;}Fh_YDr0EM`=)4H;2> z4B`1C7mHuCfhM_Cw+mtclPeeJHoT{8Pv#og5mlAt!dLpOOaOKnPhx_ib69EZIG9<4 zR9CDF7(F=36xu^IzU}8k^544FylOzyc!Y6-nr&A=(1Cz*cBT?4QA;L&&JtJVGuczT zI@mU|$U>0tLyk!73X>&8a6=1)!;Hkjgv7%(0ZQ=p-^zGQ!=Z&)-0P>%nMUuvRp^o- zAC7YQ6>i*Q_78cIMxS$3#1VBrV$CuD^ATi}9FFCMF9O+shAnHe%tZk_(ZPZRc{48I zr6u6XJ%#mcf`D?#$iXV-czSdMKvF2sw2;{aVJ2TlL!}^xZe|j6_%7CEPpDj-JE8%c50x0bai)*7z4IRr;B1hTM(wbFVq$wk$dpOlo*tT_PKwUhg32g^I z_(adR3ElQ%ccBJ%i#I>w1!CYIs#cIX^fUhe5E@~${s$;9{?}rKk%f)<|D`PdoeHe~ z3o7(zOWQwnBJP~2d+7F8NJtfefPmSI>AAQE0O+Fp2MaEa0p9=N!io2+gT&;==K+zx z{y384%+Yj)u$h;7*}}QD)HkE$-`k6m8vfEX zU*?2=NlljlU+Kz@;qC9#pY?E`|If+I!^^9*^~Y81o~uqTUj-%2Ud-*Nt2Kik1pB=S z-KntbNo8k={hMXSx=WH4y|o_|-C3#1`_)rnvwqqi%$~gaUq7u+G(3g7pk@0|Dzsfa zL!W+x_q=`tyB&JaTM1|xsLt|p0-B;8;crc@rR7Nuo-y~vg>Ti4O-@e=dn3N`7b?oq zm6NL%h(7N&=$XQw;)m(Tl-S3Vv?qx#%pT|)XVvN1A*?+ASPmF8I{xm%+w=U!=(ysV zG?qx6AtAFYLt4RL=c0@-Fij~G@(-ri4cENcR4Y!q+AndK8MqcyKJng27ylG2A>EHx z?S-Q%kv+Y04Ud{i=JqMHcKiJ^^$r2an*%%zjCgvRE!aQi+_ODPSI z^kxF$(LCKK3|Wy}YqxM^t3I0sB`OVD?_uqTVtraAL<-Ki)@v zwF-Cf9_WFQBYH^R9V-z} zVyqUtdE3{QPFKTGJ$1%`-g+EWuF30&1l2T_1Ih3%Jb)QiPOod4g($y30;y_+#H^+; zuc10VqX**|A^DiBn1uYlXl+#UnKg4)obih!ri#)mR4RcJ5iC#h`mQD!nRFk1GNCCe z=QRnD^0X{F!vt5f*0cw@e`1AUl{8csk5cyNO4fL90aM*((U&a^w`p1IBpbza>m{GT zNN-l%sxjniTU|9>QJ6g%?}-M+F+fUzq0CsO?Yeg;vaFuyBJ3GSC#RE(w6mZR={sUA zTi{kU_tJ!#(&9+yg;mk?&vqpi^{QHAhmjX(Gj1j9j7;Jv`Ytr^H=@LH1*ABXS#;6k zD9et(Azg$MOk-iYcmpLn<9Ff_#nsF76x2jJiiR2ne1SLyPZ*Cl+`w%R*R%mm+|iqk z+X}(V>zC#)1`H4`R7BB1WBJIY>~Ddd>;jaa7h$DjS{RdpV$|71D|aCwa~t^Z3pl1} zV#G)>#+X>fJt@?j7~2dO9t*I65xBua%@8Dxj2qs6i-5P_)5g1}?#!X$X#$ww#908X z4><6>wRczWgL}W=00cpl5Nyhu&lXa;v~Uac#E5PpsVHzAW2RsleKk8XPl=3$)C+!I zpfuxlc7%1Gvf6?W{;_)?zB>6E1hWMJwIFYee$fL!X(C!nNLm1Ygo&&1>cYMQqK%+r zZboSKdh#E}(2VrIx&JhK(JHqkM_U_QrqUm|jjJh^6vTrW(6lK5Yf*ea>ot_EvuK#c zS_0^hL&324CJSm4*`n!NBofn;TI*L|gSEVY_kuVBv-ePwWTM3Kb6w(f&GJB1rQ|vV846Tc{Po5S6tmP&d+}fAIq9&h)XW;(?a7a%di+CL8 zw=uiSeDj<(wh%~bLa9^&lO0>BI@(nbrYHt7inV3YNHU`XYuW-AMNzCm9RP6^bn;x2 zLNIIbK^Q1pP5IQIw79X3Pcr?1Ho7KiOxY9q{TLLcvTs)1ineJ zI9vs+NQ-!(Y-@U|#ETapEI4{4Y_dlB7Wa()EA7Xs0u(nx{XFooH1&_CRPnQ{*Wjf;E@|L}We{S-92rg>#a7M^L)B<@I zPfeJ*WXPYU>IdZEt4mAWdd2vJsRPRSDZ3ATt7pzn?DF#Ic$A~Hsy+-dL(W*_1K~fVOx$!W=kn%!X z4-RjToB|Lii5#}|6(Gq746veP5LXQnR}$E?jgqjxpLCFy3CG@BNAWfF9*|KxrgRW! z5F8x-G~|CX;i2l&)-a{mvK4fm+~NcEbAu6v&^dn;$s)_*M_>Wu@r((!)fa^36s}L^ z%1}st!-EvUmASm{*LnR4uA8x9W~Tcb$tS$s`r>{}4!>6%zwk}aDQYn1#u=)l5svS6 zq?KJV{}A;}GVDD55fe%=s6-5q@~vC=)0LsnkE>9lOsSc0hETceg+`3V&3tjqtSR(8%n4_M|t1D0P;+>%W5K;SnXkvH)xdy zbA4Q&$Ot-=_Q?finhA8iy|XP1i5Z38K1dTGJCuuXn*oZoMLyBISPmi9VZ{rVNTBXw zfEY*^Xj_57;R@;qs{v6Cq|wqcc@O-hZbJayn~?6SqBAeN(IK)j$^h`s228_qXA=w76m zfhn_%%1e8Q>Wq3&OpAxN6dhNKyFlBr6(~`O-3e$fK_$r2eeH^Lfpgm9J@m&Dt`Q;I zjlbR%3sf>5&vUEFKE8^?gmi3h(k1PK(us&!2D;u70QB{ZE-1DEtTB>yhLDX)v4_Wd z+6=yNd=9)QRSQj`(GMcH(}9WDm%epo@%bda)DM#MdrQ}DUg8E~}dG^;unOc2$Tr`(xY z<{z<4ryY;X5kNN&f?fETi47kk@~wQN9mX-UpK~iPqx%zgRwSJ6>_U&-uI1|61)J^C z($D#X+~iM>e(&!Rt{J^J%@f6^@{O1B@ASotYW5b(6Jpm<#>CW=SyB1ckH?eR?cd2W zKj}8z|8%Ef{IBH(Gb7Xg`?6tV|L>KA<9|^}X0)X1sM}z7^Yjl~0lNx|6U+dH{+W+9 zozwLLc0zPoBjrZ{O_2Hb73VG+A3G-&Qoz;TX%vBr`W5meqOrGs|2|xa?&kq|HbixQ zzb=jK{W*QOTcD=x`F&{c^H&eoq7B>j`usjUt_kZ2=xa3-&r9z>}x$>Bo=X$WbIFOf@ft4jFh|jD6mQS?}OC zq8N(-J|B8bKUb(-6TS$GDaRAO6On&C46b+MW|YM1^v#lK&u3*F;ph2(dHDK$&kM(C zre;;nBNuD#Rjl(%J5W1)ffvZAto*iX@hh)=udQ$OC=pdlOLyYh;7s~q^&Qb#54ro7 zo&K&qHW;5a%sDWXqN=*tJtzLJgDIrCNa}b0ac`^31PvSjMbp$C(GF?h|(D3PfQr~XB%|1TT+JRY9a*gJ$pW?gW?X32Z`>}zE zzxAr4%eWQ_dV;tKK_1~&%Qmzidrr6Pki`?;G(M*z|3K;dP2#>*f;h=V;{>h^+pFoX z0@04)KmZ3~i+{*sxetbIdH$$-I(hL)I(c*$7p}2NmH$q*!iG~P>r^7^u`EF+kf4iL zq&8H%)xCaaNtKnWv07eLoQcj`o?X5-vzqtti>h!OvgUSO{KzgN@9E9Z8`q+>3N5Na z%f?Wn@4G6{nF<($NlQm-zc2$=HV5bE*hZk`*2AD*f7l`n6U#AMP?TeB+2rne@Hg(5 z@o9QFwz`#h60#Y}njqVv5}f!06C$(4LUn<8AG>Fy+))fXr#QHXefMC(z%lSi92yYX zp2o+oJsVzJ5<`)h3{(y0W~D5u7V`i1t~?9eEg{@ax|q?wioU54q=059&+E2W;c?i8 zI@4?rXVVNTxhH{PZ7)qJQz5N0O^ZN&eWZ?epG zK-aUlcnsFt+)PY}#rw_z*92{LZP$c@S+YN%=F$S!?3A-_-lqmKlA`Sw9m^mVmfL=;L>vjUfrMA|H<4dn)rRA(Ea%E{6|Am%BCe z+**nhZ2}5~)}qOf99X+S#uvfTlyz@maT-2sWorF=Off*OeFi5NJ#DDE(X=Cg=~L$sxM>lixJrfk9Y%yh z%h)D5CoYFpzdVC!e+QP+!a1J;Y>DJ~ z;m5U(#*`v4$B4)7;_dm6JjL*(nUm@AITh8^&XDzVWgmZy_4BQ*XN3tQLtAPJz}O}z z&G@%o>M%+tzd<<)_uUFc@9uUaN7A-G0`Jv8rg@Wag1lD?l#Uu z3&k)S#$00C>kOFu{nVwJdmXpwtnoS7GUkF*spWm&p1IYG7PT@r9Wy$vvZ!31>NxF=Yao^rPol5j@Rm z{PH+{>vSSVi}XNBzQRm?jNs9jd=X) zSaWR`B_xgK>PeasO5w@IJd6&VBa9PK;VAgG^hpLy$@6j0#_SFoVM(y%i~pA&#k^5L zlK;^q&X=k){3w*splg*YDMbuOjD>7DDBLx@HvcApYuw{7q@TOPeWI-D^9Hc(4y`X(AS zIwKFMr_c!^-?kxnD_XYWGx{g%f^~VWEgUdL36PZ~Z?tk=7O6)^?P5Zn&;$xgRhh}t zC8wt^fh&-I5*x80L5|=*s-;F_`Jx`N0+5M>>%U z@y=vEk!E*#Bnzk&SyBrSC5fR<*Nmb1=>%#pg}fCV#akg_{LjncxQZLqavA#1U%57D zV;OWu2fa2GL*ArJ%q(b8tOMKgA+N63usQndm~PoGO)wuJ5=Ok ziva6aj+f*`rCO8F;`wI>UoBNRX-a_^WjS1yc0-@yJ_vtsV48oK89TXEcx9B*$z=kz z=ls?I8QDfTwp0KSwdV;k0fpUda znVe8|zGcwilP`XKp%Hu?K>NKuUzi;V>Us(2Kcsn&lFcTV{-Qo5?a;t;qhoqsCW;^TD#b5aese5o9PRKH381+P ziY6wgqWSODlQ_(xjxD%L+?E#Z6V+*h5Yr|Y6Mi2^r>~TKAiFRjD>uk}!Ekv8STH+a z5cbDmuh7FWwc9sKC4Y?F_vacUon`(T{{3os2TA9LQ<1@PAlyFRPW>P-b)tkSzJ{o5 z@!%0!2|s6AyC{!hb2z-Dh_^O5Ys*LoCq2T_tTu@E!e$rM%0$fR8fLyqDm8Y}~> zNt&t28;Ki3T8m{0j+zl}51Yo(<+XNJFnA8Cb?H3Qx89zKw!kAC)-o{?-Zt5dS~5}% z7y3R)Kxq&>&JMoBc;uFJ#!hX3>DvIO;#{aQWBZiPYrwCf3Rz;L@ZR)i;RINlk05NL2?vtlLNt)Ya)urKIz@`EcF$uq(1s zpVB}EyZ}Y@VPDIn$y`~f?t;H4_G6>1R>8y&NVo8Yg`v7*BloTvhGX)o?ev(;#uU}u zqdyHf5u@#6D)p--Bqdmtx9FNGIM{4?2yc{qq_4;lO(~wfF_4g38Fn4TVZhSQ1%ZZA zXy9`?tB+}L!E(m(2*$N`P_n)Dz#3p*O_*Q$DP!USU5eRT`iO2ZZwo-sJAYS83!ivl zsA$2pkIbwWIYGsF%s5h8w6S_BT+#GmB+9<=b}WHk?@C%UG>B}|+U?ZNu@;Ok&NZ?! zi3qA;#zrp2Pr@W>qCLu39Q4|%QVzrA5YMz!%f{@lKKYyERU+_yId05LAyZN49W7 z-c6? zZmvZvJ|aFc6z5Xcx%dXPY%Qc=%qw?jMU=Ez7Dwckq-2a(ce8H&9>1ZHOy*{Nq@++) zHw++lKmsXeJTDA(<#P7ts<8$$f?-Bp+d8Zj4(*bJzJ!x6C7i2xbK!DE6U7_9F-9c> z!CVXhs0and|L*f^OvIt}AKq=pia9sVrWk55M^l1kv#8Ik3Y|(A@!FeYT|Q|}B~Gm@ zcPO%<=~f5rxSwJx*Si0#3z}~2HPIO%RlYUinVU_WOgM;gJ)wtEQ~$v8Gif3Eh4&7U zp%o@T&56-2PX3LRi(=t4XT@nHnq6e~<4e%ExH4g;b>g@7ae5^zzFhvSpNk$cWsqJl zT*E`*APL(adRZJz#Hpio=HZ1T6>?`ZX5ZH{SBp^!K*i3?wSGg6JqVpI=NIx%NWDTq z=Qe2EZ^BRPav%sn2SwUXx5RU~_-=#zvdU28=j*d$3=rTSlZ0hf@IOK4#7xPZSqLoI zD981vvD?Zz9+R`Qoc3;|K1>_^R$gXbe|$qq=iMfX0=4lw-3d%`E=5Cb;eHqdme>YQ zs#!T{xUpsZWal2jc&C)G9q>@DvB7o1+`KJw|GfJ7MQhAACz9@So?eqcj{XdO$XqGn z3}Sa0Qir=Hr<`m*LfW%wUPOdlNVq3sefwhQ&7dI-xyj@(d8> zlq2Bms8addkSu6J2MBz3u8OI@xGx~*$GShShiNsLXlGD6wd>Gje z8oN1RW|nQ9I(@`$?ElB3UT^yydyQ?|wr$(C zZQHgz^P8Eq#EQ7*_vj2-v%Zbv@Q zH9m*^Usv5$mO<++g6DI-Mg%N;#z*l}s=VuF zY=f1j+U^(!0sgb(8w`$gc9x_Y!tU4X7Rr(!xF8H;`5ySLs@upvu5Sde2e0V=g`JrH zCHrD#X6O2MDa(Jd6YKv*45lqrPtyLYr`O=GOW+Aob80ovVBq8=Q7bS$V?_TJGxR_3 zG({F5fZD8N^XBGJvhAKGnuPl1lr)4T|MT&BBek~+emHJ_|F~K}(ED}uSa7SF`~AK; z`u$`?2H#9Lb8&V-P+_2d54QjKG`q`S-0oi;lel_B{P?7zAL>+a+qOR%tN?5Y6hLvC zw^q|Xu)yikY>)3h9L4FQFuN`IG8TZ=1f;aV>Eu-LmnRt-;na+fsxEMs%`L)I&tMrXKae8mzuVG$GaX^L704-f(JXBmB1IFF~b=0kmV|{!051MiwhgB zb>cD@uyJXcUEeVTtOPnQ`6+P*K_-zU>L_W>eW8X{>`gNM!KwaHMB-Bsm0;O?5>)bT z2B(!_5cE13eR2@YD9VYz&)l}metT?Ye>+UG&AN8zbt`?q{0JbWeBs;uGqYcDsWbl` z^Zfq!eq6gWM%);-Zj4b9K`N|*|LDELi{J=y%iC4=4l-eq?oPdcQANVM2f9V0NS}Bb z6KLZrYfzTWP_ajAleCJO*hTQyLiirA_B&#;@LcMVpprxz05Df;j}2JYNm|w(!y3?X+bd!AGgoak%~2+0kWk zJ!sct5{@K$UMX3b6k^@r4EW)FAZ24{t)VHSe!jGdHo^Zr5L#`E-Dn=no-D@eB1SJ4 zD{Ec!pg$z;c9+al&Bey>Q(WA3cUqZS5gm50RFaXgc5#l{a4m+_o^cpuL`dA{S)*X5 z69=h>JvJMmwYUOb(KnoO3`K?cvARR7Svy+|-ler2J6i1>9crqQq~kmz0!Oxtg#IN> z?;NoStW;Kf!HUbj1#&tp;VXruGA9YLBHp%|8aj!60yalM4#t`uH;Dutx{DR%1{lVi zkXwmGv&)HaS9UO;>M{BA%eM9Ax%S7lSV~E zz$A+y2bWQt6=&EaYQd>n>*1e6QWE*2@?o|{J(oezW{Xvrs3z@LnHRO8%~)=K5xWge zi}7`7TpL?*aLG7aKBsBC zFi?8Rzl}+qTL_Z%<>*+sHSUBzP!(w6yUqK|_ihyUNvM~Ve4k`Dgus?G0H9BjoTJjN zl4>*vM+%yW4 z-rJ61EoEV&c;D`0uj*KQQuMS7oN<1HNp4abh4j{3DXp?*(uN8yn6lZPF68gHfm1ok zW`&Asz&fVI3U8MO+zDmV!3^to1clA*VsRlgb-DUjD(#xKBJl;>mlS*pcRtn$8}?K? zdbyM&>)jjS;A)eY3bON}UO%7eW&c)+yAb1Nk~0ZD+EzTATAf=5A_f(jV)0^bX;{$h zjQ5EO#(XIQCmNC^nTh*%#^qgLs(lEs*YH+s*&jL1TY6Tx64KHoK!$j?63TKjE=}yY zE7Ua=TIP~SI~q>5yV~yKiMFYj_yhGU#Amzgv}py`vx?Z6GMRWSd$vvaVkhH3+}$WM z4|9D|To{Fi5r_CWCh4E{tbVfW6BXrJq%3m4XZg|d0Upj%pOjJI$N8=iQtne7&cK9S zafgrFcVf$ayPle|Dr9nd#R&6K%W=cdB3~Bs=_3gTE;n7l6HG|>(&iV54#r&<3jq!$3c&=$hu!iNclgCgWbo6Q3y*c9l>VsFF>(OwB}<#dj*`?*ldW z(Bzoz!k&J0W;_rJcWa)^{?$s=@G^zvDxr_t0$;*aFR_vzIUU#t>Dn5A_|=i+nm$i! zG{RUAgQ5v=EZT{!%{r64TX_mCWybyN7R_;Bl0x-*{*#dz*bQ$Up&4$AmI|af1M2b( z3Tw^E3v;x~*zv;12u{41iLbS_=HDlyi4!aw9eCJoD~pt(K^zLDh&mRoGkNyDeewbB@T)7saJQ*#q z9kyv|TlXf{!|(0|V@$BTVk$m1-m4ZaBW!|91ni=ht})=X9t(BxCP&p)nc(`90aws6>=S#1y>69``u}OWms2UvK5W%)5N84hfZ7+AFHuZ}fs$c@;PzGpvE|s%Sav9r&w)t4q10 zvAN#H3wg-d4K%FqEj9O6er=;qc`)dpL~%r+9c~({G7x>b2>5Mrk`+F0$~k2`*4H!G zb*0;4Y*=+I{b-a~K!kUJf3i5Ix?Q88U97S@%G!5`PmgnOxO%?JLnm)gFPv@bCd*yV z>%Y9;1+t#|UH%)e{Y#O_%)-h3?^5>v1U8QU1+Xn^>(#LQ18f4l#H(SY>6cguL}1KW zrE{Hj2#>{&)mP}!t#jS$y#`wM5tnacULG03US2Ndxma51_%aEHnXtM3@2|7tbG=Bn zhoJfXpC6+I{x0tx*lZO9KX*(4{+^{0e3_H3@1L7ztqivPCpBK%GtbuHn^^UZ zy>S{3dqIX<(*|)TI6gcHcUT2I;9YTNc;2)Vf%Ba)PiNsAc%pqR{Ws$FktAW7dwL3tR zur-OV56}L%dU*sEZ6vx2s&{2E^)jj_uwkCz5j*@YV3MM>R@2~Vw0N>2^+`a{hxpxr zQe*H7lQsRj(-*v-H?C~f@#FKPhY|tfQZ#O4FgQGv6Wv)NvS1`-4?~ZOCnOAGhI91n zH0u}#_ciChDk2ed#u{8kwU2k#`nr4vN?XU&qz_C66;>fr(i2rWdob@iIp{WCsGKi% z%v<=qUzGH4H47>tO(|Z^(6&Bnpr6lL$X<7+#1P8y4o9YG7pB698DrI|X)Xp|ujyA* z&a|kaSCXPa@%HK-b8HdHMidhQvY2FPz^td3r0(UwYqM!25;`M~X8K8S>>>LBZe~BH zukGY~WQ2tOzT#JZ{S@qLBvPzurqmIY_P{Wzvn?dYv15$~jTO(ItZ|(~$3L**K{87j z5{oaGeqIzhPb($O^FI9X6d$6)#XdniI*zXvl1*=fmtF$*lc2ZN- z3QL1h)|24cxabCns5wx78xQS;@7yNs_!{$1j&T>F_<;lXIpktME-b9>q>G?jK<(GY6ylgz`m5w z3)%3ZuG4E)a^G1k(r*5}u+P4)lXQu5=ydq3x5vK;82ehbLoFaV#Ov^JylDF^ZmBFx zqfzd96=cA=6H^_$IxqMfK*T!OqQh;(03C1r@CmVsJ4 zqXfqeuOvrYYjJ}YIiP9>;p$}$sOtH3i5+QaHq3x;cufR_JG^H;JPv7SGOI2!!xTKw z4h4FV#YD#Z`ut87`GK4-G`{gdQi&sAQn-~nZWz(fgHx|KXgu9-RVjr?d{l3|4jAHH z6$s5R+c5pO`qJ8x>ZoH8=Q*dKT0zshHAJ%QrP^kPj!R67sH^}P)EQ*!SYh;fz^Hlg zs^mW1F1UHH?}FdKR+S~qd}a~=x?iJ!y9{gqb&J!vm1XSUR8nUX+B(ejtRv!nyiXc8*`Y># zvKUWy;VXjF2VnOn!pZW0TK7!xbEMYW&~Di^$+AEA!?<$JzT9k;IOjIg%)3iag6~&< z29G}!E^y#UNwy9`Xc{38EofK!Rg8k-i)Kt6WgdJ=B0wu{zE3FzQ^6sJll2PVEIf@d z0UxFj%PIOxQ&idqr<1!dCo^n6t)h9BDww!>nm-RyU0r0f5CvM)LCb!*1s%sDk>Yc| zTx7DHCV!MBsMK$OhcJEu(Yog5xb6Q&NpqM;^Fo77?h*+!O7EU?N8w&D(j=38*m`cJ z>b&Zpj${WZzoF&>_Rq=iy)B{VH<^QEv=bFRYVTWVfn5w-St&ma&V{wQ+n=fDIq2es zF~wqgcLWAzsg8=Lc@LMM$VOkR=9YMdlgCV9Skf-a($A-egx8ab$7urp7bE$THS({& zhvKEZz7O?_1U8RtZD4I{hWZC|`;Uc4QFQ`<&w?QwVPVKnT)O8OKNY;)+a!EwyE=y5 z<)u1D$4uK^pitywX*wlg4H<0DA%x-VZeWrhZ_!-am zoe1EWPq;T1Vukc%O50FWQm%2xh9^Qz2HQv_mozD!layA*!isgLlbDy?;}1PJyeT)S z{)q0!p`M`@)NC`begH=xIifmV3MK$Ru%sz+^ zz_d%urwIwbD?#XAGN zc_30It2C;aO_@~IW3=^Hlvc{`2hw@e`tcX>e=P~QXEB>oYL7taG-QXP4ReOdD?^)etH|F4=l zD^niAhoniG8=($%l?A2KprqY)Z%1N5(7g|H&@+$r6lO4sHWJWC)3RhJ1K(>vN zY$6k_k8oC<3;?j3OMX0FHuJPe-LjDVeZue@$$sU*<2f=Y{7WU8g7`E}{&xLnfQ#=p z`rkm4@c~v04vUvYloZ`Zo%^L_-tB7B;vTti@8rA!qk`W;j`xLZv1mni*dF$$IFV> zsVZU)yz!H@fWZ=R`reUeANMNqWX+lP4*58e#9L~n!)`uqkJL%GCbCr8LGDlMZ?f)k zAZ=~KoAml=FDv_Ri3#v?NvR|u$x_=$JAnZvXA9{`erHVOl%R)X?jhu^%cN57yTC*l zCqBXMlm*wiHvM#=dLmJ5G~6duN8fNIn4W-2s~)x3sk5C8ounZz!H>&U?LfqO(sM9A#<>o zgkP>9UgH$IJ*dkH%wMU1ZU90AiWG%QbnpG@Znxc9hkGH-owmeG?0c3vj>z?_U! zX#dTg>t9duY>fZjQ7r$(D*1oom3)Oe8BfY}w_~7WQA)p%Fy$%@NUrYeNNl5v9Wok* z)e8e>I@Mgbdi(=cH2-(Y{Nl zDDZzst$@l-@Aq`FkRh~|q+xc=b%y(868wDJg&2vw5DoWB1x#+z&=v&v5O^BoFq{So zKD~6l%S+IOCY*EDkuxZ<3u*-Rx;ITkyZ?0`Rfr+@=8~Pf9-p3U#)_H)~29MK}P+e$Pr1z35Y3x89K0Ly}RZ~(K&PZP+PCcKN7Aomy(cNDB=?Lit6-9&qE zw1VpxB_4XG9;osEbiO37f`vT-W|vV(BWTQ5iiU+<{(r{3M)-RHneAWMvfr?g_PWL4 zUBNeTDp1pthP<e>{J@M^ z57()lbDOsa)(^n4ex_CRZnKt2B!6w;Bww@SjRbgeX0*zwyy;fl#zBOtN+E2kYZkE% zYloQx=d-g5c>lBRO-4BB;!y2oQt3!D<~%>!B7QH5yL?L?2v7f${0YE^NvWeMQ>iz| z-%7>o6%W%=F!=Uwd;)EhbzU8%%8;alsob&RPXA`8yw=EnWl@53S3eHBPtyjr?g zgZ8UD(?>zwZw#XfFR1pwWw(H5;`Z?6A$m$xwwmZ_~+Pan6Yf)5anQVhbX=2g@D6h_6jSD?z3- z$)z?V@=Hr%64T|!jcr4-aAGAzKDx5nA!gFcx>Xms91Zn;ezJC7*KY5Ms@m<`-(ELUNT>Z15j>O2Mj4$e;yghU_~=-;nMN zs@sxok5L(E_ywIM&?aljiag&?{lTZF(d4H&E!90v>4y5tj`AR@vyoulbNqBP{vJ14Iu z3!vMIrkQ>1%DDW{FB!UL1i&Q=6O5rVi&U@cnDpRsI}lK?hWKmaB2bT>T%l;RE^-m# zaY$w<{+1lQ+!d`dw3R$s3I6z3h-tC|WJd8t%l9*#(oJ1ypb0*d5d+)jS25%xC zRP(3lWJ6Rn>->a<)b2(8sp$cD*C>KUEVp8u9(?TmPT~43384|=W6qE;5i|QCkKh)Z za2FJGAhx`LL97OEc>_QiOdPD%Rv)xzjT)UwMb`^c`77O8+sw_>w>wk2=4K;QhH?BE zA6LP2|8iAYJ?CRyJTWXKh^HLuF-s06sv$zq6b* zNDXMBW>+dSXgL={;*zs0{(d;h<(~1*gckSJFTg=#=9%E}1*8GxZ;Mfe2|@uCT(2Zd zu_=d_jcmdszz-fGvwdJcuX|Yj!ZvFwCOw3>W_XT!v>R%Se7F`D`uG%AB1e7E!la|! z3rlv_hS|!>ZKH~MQ6i|L#UCD&dZT&f_jtKw^!8G?`@rG1i&3(lKtuV+iZDx7GE4%x zs;YTtp$Ah{7Pa+zI2a6rnIk`Qcw(>H99q&AhFw84=|@xMmRB8nufZ|09#IeHN=xk@ ziJ06?!OH3II*LUEZ;xU@Pp*YNKIFjZJ0eHC7p9yNp!h~>>P@;bH*<$Ig;p7!o$-Ed(SHQ$2c64;Xat)_2&oW7-gZ&WSrI%4mu zi^^a6D=VahNWs%=f?=Ub-t3UW)}|sHmW2Qs{`j?5q61Niz9vzV*nHIZtm_LCQ;ANt ziUNY)Iv|SK-h$L&ZZ&HFT5aS4>rF!EsIZ0ZYNXWM;*|rpsIMZ@lJwnf5KOc5=|v$O zu|b@<<&^=u!HAGPFWto8wzbVZt#ID;{*+Cg-9j8BpZJ`=O3+G=_tHlXB}+U4W_Vpx zUW>1GwHB6a$k>rd>L38GaWY*SH)Z6RUXf`@5{Zc~T1iU>JHblld%3y4>J3BPpw~sDxvs zsHAnFH%nJNbFg_*O~LAooI$}@tzlc#FZT4{o$87Gj*`N1-H}84Vai?J5NE zR2}!O=j#)}bECxSwfOi5oY!qqJXo*p;ES0AT&~aP^v&s0n1KFJiPaK#M z)Wh`4?I@OWQLZIBc?kbzp8W)x$5d0#LDi)^7<<>>D3rJFAOP<)s{+3O{l=KL$PZp$ z(qwsnz*rL3W>rdy$enbeM(%A`z)NDF=87*_EJ`S1&e@mu4COiut{2fj{OCrx5m zVvAE;pJ3OXJ60Vx%yGSn@vQXKt?L?3nF-RImJ36)wx4r>$eqWFg#Ist^K%`2eA6OD-NuO=ECS45+s4a zT~>d2gJ+Q%qf!wZq_mF;X#%$1KQ9FJRh>Tl9?y2!%cBWAoRUVhOT zg>RuPcOWn^Q?d@}jXiup3Hla!G)RkTqOleNrgC{6E}xC0j$X6h@x3wG)3QXwIzVDt@1qI4wv_yB@3k#NG6Xc9LTdgcl$ zD81Lh+)|IFbi36h)4Y|O?8(2X;kt|_V*>Vwf=|# zx62xWV8x{3G*8$)-0JPehfN)EcDmy(QZgwgCY9IQ<>(F}a(W9eY7^F%ROGhLHIi|! zNi_0q#ag`vyyTuW`=6F>m&4mb<=|`)^xp8$*9i^SUUgwZ^W@e? z@Aq4bbQrNCAr2*|RjS|NSI;95>aY2zk)JJ8SoX^0IM}7!Lq*d>9tYL#`0Km}OpVap z(8z@u8k%T+XY#4@>noF(TzCD2EcTx-Vdwyiqu0A=7(i%()tBeBIRaD1^i=IxWDaN4 zpCmKGM+b2*k<{=eTe4S5Q1Y7WE^8XRh*A2M$+UPf{4MMykP#VfG?YU@eD0BRBA6U* z`?C^ir`{@AX-L_t4(PfGkuDy%HD9GRR?}z^!wSrzoo_h`{lAUtO|OtyXm683bd>(_yeOLD>#Sc3AG!N`x<#jQ!gB+UJ>d@dq)N z%0NvP!VhI?wBWEOwW9>B7$_E0DzX~)In{w$Vc+$d$8!DPCDuNI1^(M$TF@`CYuI2; ztCV3auzmJ1|?&G<&v}kHs!jO2WFQ+wT!IadlCAK-X{n)^@m4Q9JT5L^Y z6N<}9%hq7$kgfTLl?%PGR?Wy858DiEMcbO1FD7`c{Uv zz~Q!$X~mx6z1Djv!xks#=O+F`~O^V``vEfQLcqlQ0Sh;3Ts zcYdjBvBKh2e{P`6u94`?%!h#;`$&4i2?A#{HdxOw9Y9!&1D%gG;81C|6EmzzB-44s z`GUTytm1AN&W79kPER&Z6aCq?K+-l1O8{{I;Qi$zb>q?b2q5Z_2QzDx9nJC`O$0tO zaJIh1H^x(8w^T4zUKE%xHdw|O_2>M;z$Pqh{co2E|I(Hf_wz*B&(%JI1HIs0ChUtGhu$0Qxuvtj z?0TM?)G-6>WHlc~!V+ns=n;a>SpxT{=F33xta+lW5Ku0;At4jNgJcZW$zc0U5kyy_ zXmRmDWu8JQbXUd*%0yw*xY+Qreus4MD~LdvSkr=L=r#~n*i_RXZ5iGqd8(KhOCWT} z6-{(dZe+Dmm5Jh%7kHa2j%4t9Tk;x2F_TZ;TC;sg^R|SfHQ_vEeAhp~y0~p7T5wH+ z@vu@W&~R8_G+Dgq;1^tSie>*)zs=16qq8R6%q1_Q#Kw}72}Wm2mXl9W{$~{BWI{36 z~SQQYdGP#6S#P{!g%RY8JtH(Ze-v~A-2-;y1r*AM*zzBeW^Um*;&!r3T zi{tmVqso~)e(S}n%@UYAo@$xah+X_$h*u@}0N>UKi|wm8%QzqxEVQXWV@qN`ZDJPk zxtMw4m{+=%{SJeAfgAeO?a}q;l;Ep~!$8Fi|4q@guX*y4j*9{tD8N4U;gKa9cO{;! zo{nqT)$`xVGmZ5Ph^BsG$|*9Y3fBs>J0nDVh@^JreMaT;qhHk#=N`r3%6jW9e=K9C zJ$<>|uz5X;DG0d-cmUi`(zEta`Eh|E!;*&ZK-A2%7kb=2VDt_PyX0dN&|mg3-&}`6 z?-DLq{^n0xShBN${PPKGu3e?_+zSL=!t6kT)`F&N==c)>XYR{ZUnO+tifwg%0vbW!9wAxekvczhzt! z?SS>zEoAffEIXFHVPBbIz!k3*o}RwAS|PkB^F;bw@#T&~N5m(e;*EmB-{J0}OwqSg zQ^(ezU%_kdcT+k}Pn5(q1k=EC1vPNBKqf%*};}&;KS3WHx$Mfq8p6JQi-5fc2W?OUU8h zom?H!S=UB*%y#BZ1GQt6MG&uJoLpQ$<8uew;sY^Uq@5XEf0+O_Nh54iQg4hhK3nh= z+`=`)K#Vk_&Feu@)-35zB@@GqWK?bw1SFqccN%qp#}yODcx*YY167`7eXZ&-(0=I% z3B5j=SCvNH`VvJ{bj*kk|; zw{|!Y58JF!kF(@vL!-wAg`-hx|1C`XU*Bg|&VOGzv;L>A8SDR_ui5`wfr*fbnVFIG z{~I)pyuEaBR-1piSxU?VCoO@2g{Po?LjxP{%ErP$MeKpun!vT7k&qafHjWWCIN2VM z=||@cyBl||=X4#CF`UJ0k+VtRMzmPvw8`u*oiXSvUfL}rHhqzvB@^znmjH)c9j^NN z-}Dw7X1(pW%<#SBy3BUJ#EMxOjwPsCQWPiEG_K<4I*GldK@}Mgg+ApC5)t*x+d+Jy z>k_zvufD{e8+-u~y>o?{mR$IVcj&K|DUu8c6MQLjeCh8dF4Rd-YJqc0cLp)y&QllZ zL0&ao@64r_UGnM8U57ts=YPxBSM8%vG!=xo``3HO+@kmjfM3lP(mi_ld@+82%VSjX z&g3oIxlEMvz59;|7h}J7rTSn`y+Y`on8>EFVJX~my zh&%Ql>e{SgWc%g56Q2%*(O#`hO*1hmEfXCB1ACw6)y@@f>!WTi?ww7yOnpn0Zt9|J z98ASOV>x%h2@nTF#~G!;w8s`v#X3837PVZN77rM;Xala=m3gfEd1NbG0vf}U{PPpv zisi>Kn&~i_Rm?Y6Lz9?v9cln1(F(=y2m@n?BO{E&C5D5`jLA#mSDS_|kONW8J@N3T zN)`v9j$a13$yCMHDZiPTTeJgY?cuqxP+%F+5yv1D_TR%a!Bo3D?@7Z_&$n_Lc96;! zwhuQD-SIAg3~NB;`j~Y0Vigo{vnPe;>>#j;p(2i&jlwwV5TQD|j9e8tvsjqiEptUK zxN)fqrcd-hlOBTOD3J25ukDGPTvKXFbf8!Yb-S{Hh}$~Dm~fyYIy*tHTewf%w73)3 zH(I_{pj|W(6g)Ifpco*chIMvX7EP{00|m29Og_SH`D8YaodJhCJ3IM65DD#eg@~!` z97};T&@)@Pl?uv0zIZrenK)fT@-GlZmxTsRPl=Wxl;_vsQFq_Fr6VI-{5hK^Ps^gs ztKoWd`=HIW)+l(PbIZ*#q*6efv14bIHm%|z+ikUgbWHPym8_CQewnjGN%O&BM_LD*Y&8g%f@W zu$9eoo{^DrJK-P^i#MDliEtw8boQp7_0 z>4Ug3MkGx48MEOP>cQ$X<1--#^iA;CfAeHEi|v2`EI&Z)x$v0@@B>+ye}@2sxp^$P z>(_Yfm`6-^r*W_}EapE}?Vcf>oy@TZy+KzA_k-aZ>>IMp5=ds{(9uqP()BPoxPgth zCXCPw8w0r{v^F`68qKh|@a{m&K9hEFG8)a$*T2_kBb7-Nr0@l+H@mh?7L( zf_0lUHgYRrmY_lv3EbDMbBRY^&|wxGfI->gvQyZ74bP-7_#1rHHc@a@2_UsM`~{7w zTT05i`7q$Y_wzxqF0tCA4u_gU;FFGv`$UzL)*neqoD6d%QV251i4_x$?8$yrb^d>matn?6!1` z6W7_<+AH2(q#a-e1a+WA#HVC{?zCeH#Gh-8 zuNvkY?GiczI!Bi29tGE;Sv!7oXtj~fHnI$$9+J&QHt+MR;a>N5ZOfEl1I3k+K-#b$ zdlii{H@O=cnkhPOrT3pPEk0<+MN^?3$XV@pl|^YzQ@T(T?YahQ$6ThK%7&&|$)f(- zg#1J%kxqMG5|qgw)Hlc;{EA$z8W!KDF5TxbJwF2W;SJav4EoDL{3cT}+b!fCFYCWH z3_^NN=VuWr?ycGrDE6=VHfIb^RN8cqjoQ3lJ+!1Bm`5c9?aIzi!QG^FqyYXpet=#l zZ|Clu)y)|G-*7vTENrg3a5Wb*bc`+J(TZJXz47V^N??0u>J=kdGg+uCy<_u8L=*N0 z30YZ`#`GdgaW60|<5nK!RvbKWY%(V)VdT72RZ7$jm>k%UFu1EnL0#VWXqb~y7vjfM1FUPaIggqenb`x*8I&-JP zf{1{}b2k3fHyQ`tjroq_n`4^lUA-$m%LE^}t{v-!uhsaB-(E^HlQDJOCmq-Z#VbZ* zU3Qk+3R@ceGEi(^jI~KpPTM1e-Sh~P)F!90#==}i&GYJ-km}eiLE|T|74E+7@%SV6;tHi$ zyBK$4Gk$2r-;8EraNIn36`Z6Wu+d`VsbLdyUv+crPwd-)M3x)bs1vxfYLzLNI?~BI z=2H{%Yi+6~@?C61)9QJe);5y5xgE4dB_pG6u{Z}Dq$6ZxJ?V*Qh5>whd^AOUpV)sK z)5&4;43+q-gXENcDtT$nPQbybqUd2;4u5#bt}W70)61I$Owjf(MaTt-Ir-EYSjlM` zR7mBxV|Z260u>_h6|0-`$iKFlZ=5V>G?A$(yn240qi2#6DQeFW%x-7kXA!E?C7Olb@ZoG(rX z)X@2pI;`w9iebESYranadX@o;ote7@nY`)Jy|*VQa1v z8qS&L$u){-S1>OM7mj2q#kaAyH$t1w_&RzXm9{Ibd^#YMtefwkCQHk-43Wyp=9j5! zkzdj<>txIRP}o%{OkdJ81m-TJD<6_hiknDa*^*HkVP$k^$$5Xn-=%~^L;J9>2Iy$=`<1inca3?>?rP^}a<2FwBNAc%Ol!w2!00}ieX3Pq38C{a$F+)-Dt2`C zz`PK;^=Ii%ZSrNZu17V`WZovZL00wOODp$@8LVe4aGS2GCD*aX$TO1^S^H|{D;7K! zK11*6M}?FD(}967P$n|6b#oboBNZ?I0z)>K;54M#*YVHhw|?IVEhE4zbeW~B~9|{C&E!t-6pWlx`cyuSO^3II^p~OKy+o9h2T_;hx!b z6S{wD?SzVHoT@`NS{lZCI-aA;4DyV4H?h;*YELztz>K@l?*F2VfIbZcbZ|FI>t_LM z3vp6;P)jD11{NKW20|Qly1?`v7pX3p8N^&B17h~TYnvT&$%&6`|*0G zoCLt>K20q^k31at?cM(ksiNn3x?g(A;+L_pvEkBVQBe?zCo9f5URIghV{E_y%?4mA zON@UPTu@&9NaK~Y`Qm{;{II#9PO(vyP^v=51jJps{YJKTM=Rl>5^qTe{u0+JsvJjD z=vRMB)Fr1dt4VkJU2?CKp0wzpR60{g8Kw>|fk%}yOyxV4jVJ#tMa=)A*`WXt2YszfBUV)=;QXTM>D}>V0fz`BO!Ur{}mxf#-IB~aa=y63$by2{_s{sA4D^~(FvnAu#NFO~%>4abQJ6eq9e+Ov5hbuVRp9 z)^2|%!|>tMH`^PyO$S9UYz#a?yTy+u;%e$?+9(cJ(dw+~`ZYBTfHQS6?U(chw&rlE z?n_TDrCZgh>c)IHWt2~HMn}Zi(his>#)REV20#dT_9@+6L91z`NP}$}LK2Tw_ta9# z%STmI?T8)~7@%n{_88xndq8~eoDpo#quk;3(<$Wk??l`TSNRxg6DRRp$6s>)SRXzE z42LJq1cax%u+D?sGxE!**pt}*upO5jyB#ZOR}n3iB^*s~&baCh3rRWR4p)>}jpv>k z0W6!J$v?C|D)ZzwNHBKUhrFmd6jA$hBUOZm1EioCZ$4KIsl5jMG-w?GI?c!>IxBv? zBltG8e>VN<3Vi)N4W8n2gV9B7S0)Nb(bLg)(b`a4F8oBw&U%+lMu&BX4+47rifZRp zX?|Ty!Q7s6OHTZZpsxY5CaCldK5}WcL!mqLESpmf@C5+gXc&zu#zIky&<+7GX@w$n z?uV?LF8d34X(PrKBD#5vWSulVoILDURZC=4WK>iiFwt?~;KOBT!))MXW@TyaKEC}a zX7_w|^nS)#yxd87x~aObGF)7%bEc#2KJRzBb(!7Eh}*9v^%$l8P61F;exOgFpK*wV(49l{H7~HEt@CX)@{RTm5vA zEO)IAyFS%_iY4=H6K3ldE|$%X7dK+JIWp@R6^03U@xpWE5M5fP(&`ekOx?+OTJrVn zp@v+s#oOemm2FkK#>8QgOXQ4J4b)ScG zJRt=i5D+ad`3?ld5&7}BKM6mPT|Fe_Pm?!s2SF$LBNwg1xbeOPQ=7)2rUe5!2@qO} z^)=(QlSR(1Z@1`+bvKJ2DIrU4zZIv?MULghg<{xuOgG9DvC&}4+A+&GF`+8Q zDLiA|N<5zle9t~5B@o0t{$=kv*T>!LCGxaC`%`wnu|@E<3Cq!a^|2H3_;~rK^I4>)>}w+kc*niqO=1UT57H^;jG{$HIN?EXn6AxBfYsz6Nw^ z!weH>?IkO5e7${VXw)sM`^8Vq@7nbQyu0pB%@QmkNccvJAQHg*c9asBAuNrJqs@7s ziPHYex*ixU1tU8Ce+YRC*i4&VOEApL%*^{|P z@B8oFot>Q-ZONtQaUDxmsg9+R>@qq=x>H527gnnZ^MJCha-*&1n-R`Y&0n1LiLUr{ z%$XAB#5LK&3Q=_#i{iXk@Uv5&xwxC3GJcVDCjKF8XFlbF&Y+CuJ)$>NL7o`G*SlCR z{xYo#I&XXr#F>L^dA9X`wO>VF>EW7<3-$qKMb1B7nJzFtIYiP1BHL6V#bP3{#-o7~ z+m9x}ZYWa=~$;hUJV1FFnCRf#N!i`KC04O9S`A5cy>X$=IY5fnAT8*_GOnq-^+ znM?`1Tq+|@{a}lc`9fQ3=*HM0qo0V6g`v2qqMy=3Y)St51EF8>kw?N>bJ7C{vSk`% znvo9-u;|{6k!fVz+5@3Il0ytX_Db5NamW!r!$YG!q|nMlj^Sa&49wF)&1j-<)Bo|w zCHEufYnY$Rh*CCLfW!!ka)OGYrc80n{2#AaX3|5fLk34KXix!Zz35I1vvK1y6qAJ< znzY84S!MvK0R*&FI@G}lfNGP?KkE?7)W-3r7VR=P56vcIfXD}EO8L{dmz2js;~6;| zUyB_yr(Bxvv``U2D#@YSP@)t{BT;5dC$c&81u~;q^aWDmW}04w0dYa=1c}rD)oF5>K^Ds0nkt?_CY?~dLg zmZBK-UC9r1cIj5{L|31Bj;sYP}E^4yNF`uAhwAUySf7~(y^1qxG3zrKrl4NR_n`U#MWYW6X`_^c!;Vyiz+!5A!)scd4O z>LMo*Kq&Fa7#_zmg-g%33UiRqgOr4RbW=owgW@c$^mf#j@9=pjH>}~eVu%9pC%=l6 z9cd_DJ_dsng_6#mo*|f>EBG+rGs;b%OEOngE`Aq zSSz*FhmWD_@0pAmv3CUyd_CX_%*B37N@60czeB4(9-nc9rlg1PR2u`|fS<+c)6ST) z_?GlDsJHX4-<){(Q^-p4b{Sy-Q!MNmEKLm3rGFSMP8Sspk~uU7U90bj)b|(8*tW!v zY3A}x(?yKo9Ni7o2BO0JO?;#HfEil=HmaE-Qt%~Ft*I~|9y)Ip4~(gihD7$H-*c!e zks^sydlve#S|V?5J4fOT66mgyLgLKlCHamtxd$u*4zuZ;ZztAd6v!>bxtuhC0~L1ES4F*Gp)HocH8%VEUB2YO-#l!!-qaLq z3#uqkr2E#t%BhHCD;PVJB5DAc^(>ARu)ZW45`gvf{s z3F44KBZvxieS~5M55dW;iT7bIg10gOKh5I-{T5iAFNf8=;t$>~44opmL-W%)JyY{o zIlKIc?%g2bk1y|UnCBh-YV%u|q3`+3sS~uF?ewQTIlH`3v*b*jkzoeo@vMOu%9C5X z-rL;#nNKdif!Ai2hFjwfuP*b&gl=P~XT6bv*G-2M-5oN;9i8iTpn&UK=QkxW_QqYg z5Y-*=2Wu4dcS6SrcG=Lp$5(EDz{d%JzUR^--O@vKYj3f?m*&iK!LUbx-vh(r2P)q1ImUiqG>ZlRx!Z{MHI@86%^UM`*i_ddJM zm$iS2U720GEZXyTx|@@BIM>HI-I=QBw|KIL9U?|fk+_IAgY@{YmeSY#;CJ4`V6aZ{cfAmFrPc>^RNiD3w^MfbC$DL@f#1 zYQk%Bzz_)07haII(l0!0O_R;9Q@*SC3FN}wYv@7cY+DRP#L1tq8IXt{aiY}0VshmO zUprp1qh{@CB&;wx@8gzaG&=6%hD7$etXi@=;7)3Ijt;mLSljL7dnQC!_OLyv2qx2A7-+`7kz_5kM>ObZ?du+ z|96=V7YE>fwCv>ge|0fX_i{92mUOUp6*qG+akg@Fb#VTVs%T_q#w;cB@1WN-b2c@y zH)51=HL|rbf%`XUYvDoy;D-B;rKqTbr!FH0D;EhPI}1ArD+hpugq4MbRgd|<>_zM? zY|Z|~;Fv{ROw85|_;G56&1J-3L#n)}#2jX!*=(_Qlq!YRkF2pa!eC|?T)<430|v7bA6@4-ZW zDUvH_LW2OO{G3-EXQXA7Zf2q#Imd1|uQr|qgfJ3~ru5z{EPo_J9R4B}^UJ^`WtgD` zaeiCN-j1~{6~rOevb9hF0gPbu`?d*PM%!fNLv$kB&ficx}K|#RZ$}sv;QFfCu&(aySR#38ab2vbMo>=|NYO#2FI*rW$J3_qWdp9NC2z=5&%0J z2`3LH2|Fk2KU8G@XR?v}7s$g+0$>4<@NlvJ$LQb5#>GLx&ci{%$;R?eO#J6d!VdTc z|HuAcoeRK80$^h&(S!T{!~)5GVnr2>S=~Xy-s)c_k^F~q|1%5!*T;%b+RjIDOC^Kd>3SY-bS%~_v`JQd0%;d{kZC8 zzt81yF+ZNXv%R0(OxLK!Pr_{_L&9~*0MuCa_y)$Kc%zg4&Fn0b;QFTZMKg5VPkp7w zV(7l!3(_K?_(y!34T0;gQqz)Op^2Q>MK)stBjH}e^?$a)XGg%sO1?!SJt>@0AXb|9 zcs=&!({1c$+E)4=p~mj#DJM<M3i+ ztyb<43rA0$eqX{YshIJnbANL;yMFkK7^!sqR@zCP_cuGjO#7^cQb#6GcLDC|n2gOD z4NAolxSgF&jQkXI-+X~ZpZlH>91uB##zx5(_ZJNJg`w;Pd8R}}R{%1f`QatklR8NBu1JGPu5zZ`9em1(>_u2DZ_e0 z{5eH+MVQwQvKNLV6PI*C^55y zv{z76+D_`Cf8~DT;qB|r{wqm^A?&i}!|)n+6LCnaLhQM3?<({Lu~Yh23@UXVjy51% zvk3aPHxV^9ML-~)_}r2*G*O(y=nX1b#3ue6_G-k6(;!L4XtEu!B#|!kd`|QMgg27@ zmIe*eoNAORffPB_3GvWd$Xe=sZzIY-O0ds-&-L#1(CScX*pj153HpsuaDej93bnPB zm>4}~vGwm}f={^aV8va651Xc+EbwN*q(5_f@jH}-I54f>DfnM`zOXw$d$^pL@5xid zk}%hg6xY{JxlYvx`Y1j5^CjVc&UY;Ba6n~ap_gefh1uf?L(0}>Z|e(wU6skD9?-PSyfj)Z>Udr zz8esJRD&q&eK$|^9`v1rggx{ZIkr%F(imX-rl>vTvz$MTFZKP@$JBu29^iIj=wWDX z=o;-?Hl32IIEsa6S?uy!5_vF(PbICfG-Ok}^AOHXty7WR!6edsFPF!y(57l=i>>FxisWBBoY0cG=Gt_bDcS zrF9k~hAPA)tAMiJ0ojq5-Ffbd+=$yAFt_XkVHyazJ(^`}z9H*EGXQ7o02K-hm_Gl4 z{{U;5_j%E+Xbubgk@ub~%a$4&ajo$ysfJ<$sP`+ROU{3nVtQzen@ejbZvVVPvMx+_ zVr#I~$-$Y}DPVuv`D8EWP(yIQ;+|D-I$_`9w)!>VmHCA^G;08Vz@nIr36m>2Z-3|4 z*Sw)sFo#N2Mw`rgY5UO{3$KCb`|N%93BMq)_C(V0eU|W7?sLjc^3H%~e%P^-32dx- z6TAb}$^lX`{ZDcvvXC2Y*X#rl-ClY3#AZ_zF06$9lsU3_=CqvC{etkq@Bmo1Tjsvb zPb}viNsa^jvG!uzRul26qRAb{Qr}!3aKApkV9GDl2hw_D<|{HKXLLi1k7Qy7c`21E z(g%2Z${wOia&i>a8KABaLBgOCxPE5v#Er*KG$&Jn*kZb?nN#zY%nwkve*W#)tKs_> z$WtWs_?05&S#%b9xG*#0q|=f5Br1P+r+p;xm-5}qDkr962<-L1iw@`^2jIIUC+~Fi zsmYag#i!F9ygfsJPG%_f0K#t~J8}Ayi#Z)5-fy2S5GPN(@dG6=ciqvnTNM}wh#EF@ z$94bAEoe|=guM~bSY*lRBNnDIuy9Y1o@dbfT_Xt2eu7@GhE)fZ2<|Y~V#r`j@MV$6 z0CHB?DQUr=DgoJ^IRDcZrdpV2v3UrpJ9HCk9YAmXH$3k&4HtP}TVN9|soZ+cdWB-v=!1~{p* z3klmq=y7IsszJXutr2o~%_3F!UXrs#z^kFvH8fK*9_bm+Hp;p6)qf-sPfSb!I@2Lb6uBRPh988_QM-vjvCWA_=-LS8oWq(PuKb33oRlP8QGX z^bm+9b}tdyKnUUnz~5kY2KK!1^J^0<@jJ}-(ovfu#N2)4&l_@$;;ajdTckKaEx{_L za+-~ipO8inNVZYIpHV1u3svoca`(vBKX?YM5Z8Zqp(5U|Q_1HF8hf(f)n2G=hDS_I zWi5m|hqtZmGr;1FL|dUpw93@rbVv0d{!!Rb^EI7VRz#f2BIKHx$Xa1>@y1_KmYQf7 zE!y0(+qO}9W%?<49B;J1_1J@d*cN-kdG_Euk*?sqF&(wwvlFMsA2bW;Z)d6tB&41~J-M&aYeg zkQfq3=ZgoSzNOPHxD?y9_UHZy-zySeYB8H%@AemaHt;Q1x+R**w_X*{)Wu`b^#+d< zc*Yq@R{YgT&5|qFjW?|6 zwghqH3+_-ITJgN42aw@_^5_M0bC;14k{?@ri(~vc_+?Si|B0}PmC%lfIY&x{7$O+P zi)6l%<`=!L7WX@x1r3{0Ff<(S4!xsTOM@WC!u>WbXI9YI0f5AUP7V2 zB5A(BC&lKmsdkpPJeik2YH`vhePzhd)Tt2v_+gtp%459O2l)F+Y|mA8m5`OoZoVIT z_7=(5ykN&?J}#kE`3~-VRayi%X*m0t_=^!!_cW31L~RuleK zI1>W`aVsT+OKH<&cPhm~UZ^nWqs43d!95t*uqJk4DVA)cR`z@)0H8d7>$4=uWc>|> z*(01CvtIJVf5U>(eb4K0*hO0CB7Kse{CYto%>(-j4qXw)h^ezmM-%F}I?Xu1E!7*c zJ;^5_Wx3+o<+?g|HH+Wmg#nALRd{vW0X6@)Hytuc8E(Lv)1o@aX0z89|L4Mg+V8IJN9*cDPI$g@=`ki& zw0d_7!vK`2@`WK4gmjS{KWOP4l_))i3D^kmxJ?++{TE8MKD%Wq;Kg6n`I>Sct!w zpEGC68miRKD2sY{x1e?<@|G(A{+ntbzH9&;pqZ zDrh*Zc1nmCEl_Lt>vSCU=+}VQp$B1$FC31$4s=*rO+|}(*zt7{C2eSWF^Wzb+q951 zSZrAH8KA}h_jawb~wz6)-UCOO@-pD2nq+Xj50FO$koeG(S&bdt> zja?sQO;IvN| z!b^1i+x6^a+}v5~d3)nME}PqH!(7$x3j8!r7X-3v5?RvyA)B>gD2kKlcVg`iI-g9N0CGvbc?pN46!ol3A4!(En7~x{ zk7m+2Q{%=HKFa{o^?;hs#IfU)$>VwM(TbAp^#lM(OS)!&IVOj;on1!vpY?p}R_kBg zZ9wnOIseiMf6Tgwy|b&G-mXddVdo|Z8P^R5FIPvk%QP)SB3{>7jXD-$AJd~!@PbKV z4L%=@=M9YJBdTx3=+O5h?9V+ARnWb|A-Yv*95CT(VshKIicB#gg{TenIdJgBGP4p} zTc^V;C)H#r8gg?vdXNa)3{Q%)c|~C=sbA>HG;UPAMs^^5xZ%#UtlvqG!s-1$G&e{5RREUZsG!DjU@ zE7~$LZ0bST0(o*y%tA`%^VPKN>w~ez8#_-UNp*JbvU%j9xolTE9SYd>QT$CK0Kacl z*gWXd(<$tC)<07khe2ftLEi5TK%d%67}P`aFi7)QCFgEu?#W%sjwWZUGyycmYKE;1 zqE>({hD}?vdjYtU31&E-CXC@T7;H>TtYT$N92zwWf;RFsZ1kxXClGi)`_zSHRKgYs z@gzV5&B7*VC>Dy|!{acm7pqI8ppm8(FFPTRefBs3%{1J_%QuEY!SwFsOJNqaP76`C z13@RwMw;Z&Et5EY8n5s+r;dk$TU0mR2$8#IwH3S=*3pw?7PKjuN^wux;jX1N=HyuP z4+dyUYwab&PMjWo!!eA8g?R>TIpgBUW^YikM z%Rv7h@Hj02mHcnfi(rA~cc+xU`L8BY%*_1lYHY|q_?_oEo!@wzBw#p%Mu}OwhubL>Ff~x|lz9dGUAOd7$3j!@{{o zpu$6`c+KCa!|({?z!8gVhHN%1fZ7G&{Hx}--qfDvKAN7~N@Hz$8yqR_wv z80v(EqIg`k!h;`!I6IdJw^a2;XYyZ3k0D{xFghF{2F?Brvk$WVDiS%6x?rfXH}}Sv zsDSSQ9?Viyg4(X1{a<^y^3gR42Qb1IVD~>cNK#$+H?qv{D zqvz!}ku?GFhM#pV)aozS#AfXlabnal=z_i8Ge-WgUk$hv zOT^S~l3S;JAB7!1N75djgN87rKEtihM4XWAiT-*5VJuT`xyh3+rVlpm0n6eTqqS(_}^-!v{`H1!M)^++h2O1gYt7 zu)rFmw!7nJoKg82q*u0{a_O3gEty1ONGu67?QuCSw3R=R__)j64Qyz8NnWJ5G9w=H zOSoXlux0p2S^dayU6u+G^3=QW+n(`*nA!dM_;HI6S3SBxGnZ_oqwi*x{+P1{Vk|_h zmi!7NxBiZRz4*b+j8>hjlT9n9Nh?$B#Fbepl|oUic?SD2+eXN$krOm)>G}92iKULPDxQqvce0625-G%UL%MJ9Pbv)#!s)Mm_P^=oJx{&GbV^ z=d;I2N&#aQ=grk<=QZW!%1`#aAimC>^3*D<-<1L^`m#LrPJ{)Q<3trd%MfPr(zi0Z z6+6V%65m7bv-YuhV)hYVx=Kx=cOKzH*wRpH5vqH#?&QtNco#Sp_!pX_^?xy_VrOAx zVQcdm6TY^6{IK`8H~QYhwa&BBx78PsQ#5+DB@CeP++<^)lA1nAZgXJAsk#88t z^YQK1KPEiS++9BrKgR$9hI%)@qY4sU+Fzr-Ggz=T10is)SbuVKgd@sx_=2H_a>~;% ztzX=!|8hjT0pdL8Wwlbon1*elDOHOQgYCKiQfUmi&y@GY{1lQvkPhDv%j=6{1@%Rx zx^^<|&N3f-PBR}a9%OnI3+`+lYCjOZU-*D&m#X%t{C}9${fc3*=TuM8B~o)2Y;lAO zKz1)aABu`W=;`2A9o^TG*i?0wbtK1Wh^8cZ7WoZBbd_4!vc^GlK;dxwbzlWn%I4ae z8qe2Uvk^Qmi4pSBt(xb-?98*{7~j!D&s@pJc9`QBF0|qmX2O{q@gS;4SbNeWYyV21 zo)PvHqAa`DLO_h0Yks6IPl07Jr1GxgdWF)O96rOIz|`$$>bY1d#-TSedZW-ns-nRA z^}%=UvRO~T7XKxP(PmN)`AuS=GR#dZj>;IL*u^jI#NqVGHmM#5Y|)!7+OYhn=+=M_p>$u7Vm><)caae@3<1+*!j)fLa|xDOg(aVsqud7OTNHX>=KH(=?@1ig-?`f7%d zukEgF^+&*9nsObwxmfiL)}3(-syprKG4pN48{#+IcgS%BgOc`PU}@j{vC#g>r)w@I z1R17wQyBY(D4l!C?+Ktw-}bemk=DG`%{D)g(;?I3%X{}Hlsb!`5K*+ct<=0mCoO@7@4)OJ{0lJHz&NH1b8JkRR0%TcX!6LwKuFfKwB`EI+q6eZ z4W1((dipA+F-Uu^qo56szm8D$`Yx}NyMawIg9*eZM5}+CorcHg353+7rt_O0KYTOs z27?C2p>u6S{JT7RH>51$*$0z0Xh7}E@AI}CrK@)MWxLe#sg{B8LsZ&zvrxQH-gJKC zEv)gZ`KUcv1M+6cn%5Q2@^_4w>2&ukrSYZtUOm-~x~Py7X`2{E(cYzAuq!kiRdSP6 zTtjm1BsX=Ng(4dqmMq)QI`a+eLBV^FGIFE&SB9}DkT}@lpj0x-B#iO|thpUtn5Afv z$x!of)Q|5FG`w-d3b;&xwH;%&rFp;?CsT7h9OI!3Rvjz6iQkZiMxPeK>8YORi_F4K zQSNPDU}Yd})nB%sVKC!L9!u_^C6L|C$=0-~zyVXUcowNWCxHd7p*$VT2P|0y^+VUv zGS17+y@Z{&9OTB6KfRkzGQ}6d?`3h9J`QV(in-k1@tjdgoe7^uR0JdGTsxlk9=%=% zZdDFLyrta{Zm^F~F1DvFtl24uHf`XI@F`d2#FilI ztlGBdEPf#1H=aS3V&XkgH1FU1@QwFX>*3j%-`U(zwd&rnr*p*MW`11cInQ;wqLNB! z26k)yG|{%{U3RN|$C|);*BsS6sjYio)GNbo5qk=$t6yUN`Q74bv(uSe)IeSe!p^U# zMl-e%z5!U}&gm_Gqtys3`IFyxB~mhO&Tiu#AtsT#bL4u=qmKP^brR6YGxJMSty(c+ z&=wHI0gf>*`isJqTU<2nmwN%?`hcTbGHrO}vJv+f!>AFolk0xbyB#-v98A>%mJOpA zS4Q?|P6zDqudGbc;cYbh7R1U+nDYx^K*Y#}KI|`!-3zdWiSj(2qZP%a`oC~5Elg0P z#Fz`TtR>mPJSDKd=tLkKnt)aR+~A}}TePVYtnL+ZSwB(OsC&iB4l_La0(q-;LwH<3 zI+BU6>#H=ItE*}QBc3{{FV|>?^$3^PRLltFsVoHZcr+ejCi40+GO=yoAYi9bZGGT^Ki}~F?QO%BF~@IEA_f!SOq?A&$EAk z!lubvFtBbc*x+%`4en_l#CN$O>`4yaqDO#a{*6 z*TT9ktmMkgWmGJa_v6=Sc1D= zEH|mcdcw4PwPu2)fBoSE_5%JG_I@k(t9;)E?{o^$B}Vu-W+K`0)v`)ZX9elWtN_YX zY4+n@_J<`fmwerBEx+dXt(^6Idp0o)Otww^r#`xm-hX#j4Mcm@QnU}~V!6GVV=^&Q zgcYIL)Vk%kMQ~bSy8rOd?QM0|WFMYbR?lJGjomA&wJ_uFN&}v2+C<(5FShJ>w9{iG zXG#+os+)-S=wR*3hau{Kqv5j7!~}mlYNc!2C(sFGJgPD+q0hySD?~}ktG|~R6%QXZ z1v|4h`7lLtg>&u*voe;A%9?bVh;k+hm#xRTQSEHa1p0GKHz?N?ze#hhX~$J({qcuU zTReGfl5<9m8I?dowF&ZQX2UGZsszchmomK*d>pPMGvN`ZGK%_ydQh$L$UBQJmq^tw z_EqrsXr7_TaDszKwWmu=HJz`Qm!ZbJ4Fz60$y?y+WQ`7iCE}~%q`;!7$K?uTvak*u zxOehz=i*SyYNC*-RifM&-?9mzktp$obxF< z#&>dhmt`iGgC&SJ@yF|Y%)%bG-9LB28uswGa^mf$YWsZqT^p<9pqXDikKa|g9Mov3o@T}iVl;gLU$h>?2SP@ukSd{{RPoM*03Y^TaMVJ5NAAbwAjr%ruBC}U?Z8OrXl>$r|&INrLH{k1I#yqE{KqC#AA ziC_LF4!V34y%oxSA5H}#mT8ed{p?fwP%YirP#cnVI>aqX2O25G93?)LrKzsF4r>$M z^4hZIg;jOmjT%$8nVrZvBF?p>C;wQxOrenAa-M(AGMb(TM`>EM0T9D>3xgZef-Qep zVF`|N-J+FqtALe~ue2nmPN+&dVMI+XhlFER5rW9lfHWScK9yoEkkv-{v-^eLPGUWk zhO_;`QQ#o+@No1Junu#!J8=@S6#W-gAMEDL-GNhgUrk_X2$E^{OdGP6zJAD9v4!n? zMD_cwqBD?xn_qx6KWF9h;>ZSjuXl48xUZ+>Vc?c`M{;?h8u}6v%lBug0fu7I1%efv zwlsy~dP$9cJ_)OwY z1yJR3`lQ=+TuSb~v1-8AF-o+kHW%rr8~CD$GeWM}Qn?nzlU8`wrPY$@G>5qQ&0r)L z?wZl)LX)Fp@(7!~sIJFy3#aVOk$PM?!7dy@ChN-@R@p@D0V)j|$eOWawC=U}R_bMQ z)CmgLM?u~6s;7T(7~Asn>+2OS6$BGgGSh>4ESh1V(Gke=<*G=jfDJ7D1-?CD6H|P( zo>%J@yqlP|e~;ki6!`lN7W3UOZl5F^Fw_Xf0N=I}Ah4Oe&T2gjx?oGsKwEF!_rk%) zz}aYEstL@5aIz*3=sQq1Mc`+Op}apa_1Em%I=Ml~@n^v^WH?V~5zOdcB7+5Di9B)a zlyNlv74HgB?_oaSg+@#VNlXk$%+!2Lk1!QT?*Ji_w^1*e>?c*(U7kx)dVW3uyZm1f z&nPPa2Ap5a6e3@!GB*!ouoSJPf4^9-rC~uNzPm9#DoZ`1-#e{AJ0A=Ksx8y*YKnOx z8JieO7NKL2Nz*EDr+cNNcAN&2ID2sx8oh5rH-fsazTWj76NDB8V)&cR{s29G?)bs{ zo-HEr2|&E3i;ccJv~guXOMsExt@Og!Y2*Oy9Br7w{O0NAz}j%_F!5mk?kCmB zhHvKz`5!)DetdAEn(@8(0x0a9_Iz}_@C2BgbRE}tsPb4@{1{S}MnWfl{m-fUS4Gdp zW6rMT?ppnxRTdFBY<7W^m4109oB}zgBrVesY$Epr>jG6O?D!VoFc$*77cF@JZgaO~ z;~sx1AyB}U&;ETVz2z2Fx7Lnd-lWal0-oi_6`-cLa8w;Do9$E!2@Qn6PvPX0{r#w2C+O*tbS1iv&gq0NCTFbp=`i7eK&i47Q*G>hq zL7lptzs>uccEtJmPn{bEzn`K;kUhT6FWw7&`)}2q)ODM$JoF89HF>dDt=kWB5^qJ^ zF2C!{Fuz^BaLzbN^zu2sOl9c%M@<8>fXpwwFb+kk`+&O>XO~y=y0DY`JNl0ESr+>i zSFh#Bv761L*OU%kEAwSc$adaZ9*n_q?OTk*3{YcS5+U%zhT*^J`~R&LOiv|Y&@~J> z%P?gWtn6qevGY5K0}=dmrWd;?%Oui=mtX57cXSq7({1clY^q&y?g7ra^6ffptM)7Q zz;2#vrU`*IpUu6N^HL>_W0(;zSp-W)(J)YGgJtG$JflF}w;IH4Jc@q)giu@Z-uu+D?Igw)K zovt$e(rBJNfde2t-p|SQQN-N_%(iebQA**b*bC@=IJt_B}|K&@gezwCRv3j zp&Vekn-lki% ze>Cq;c`vIYD=lMjH?;kuAUau*Z8Y+M(f#pKcd}+Utf%yI{P$PsC*1g1>rd4mKVYq% zG&IgsO47@aBvhW-Y?D9L7TbUQ`t~H;csP2Cdu!*d|6YWKT{laS1Rp{y7O|BDim*XH z4(ES%sc68`+-5jd9!wQCkulX=uG&Z(WkGNY|{K@Vx-Gf)*EfcmowKH#W5Wr!2wl`%x%wTuIVALVD|REmYX zgE~Q=8*$H}k0#^B7}kd*>4i{M(6?iC*J+`d-tTkC@m0aV=##6}+j);Fr+q*tR8tkcT$VPrs`L^mCwX3+Q9Iq5B<$@|=gWQw?hS9-)n@FhVjw@@b9$VVs?j@3#cnlPJNH+t zdB8h#r~ZEDVy3+EIl}C^Dc#u}X4d=uvG0)}lERzt>dMZjkVO zl+t^&Y~#aI<`2~)5+~{sf|)kZ&J9Tgt@9}3%&=au*!Z=`wXotDRJWf|6k}(*G>vbX zX^S;$o^H5#6?z!nuw9$=^S;X7%U@6Kl6f_D$mpKy5%3rH9=(k{tL)a^(5_V8$Ou&W zIKTYH^3b{iZ%z6zTSvHLUodDw%LdvX@spY-AH!-ZjGfO26d5aUF0NTuk6*-=&*8GF zoek7QC9^JN^eAeBSEf3v+?A9ewBX#7CW)bDt_SBG{n|{5m_G%12e~h%WNFTv|?b9po?AlC4<`;jB7rGG~)V3UQ*@z5*#M0v%#r(A?R`r zRs3la`dM8UW-{YYk=LqzPkGB8DrRr_`L2Y2Ibz2Jw- z6uVLz$F&RxZ0{zU)Bf_IUjpUymiuepmCNSAXnfD@G=6=r6fF+t;~Uzc8fHLVIz(4+ zth)A4aWsSk77MDg6+0Z|Z9=>iF=2B?h8iY+?T?#R*WWjAE5@4*s}B z;6mD~r=V4GPO8o9(u;MIW{+ft&Q>T_Qru?kyt!A*9lL9RbNL&CxB4fgxBhxbPq=@H zf8e&tcl1|HzL>?Lu_xhD1iv+Cbfw0*r)fpBAvZrJ7)ukT)j)aQ`>d9ft0N9z-HOiG z7S0YHZa?!X3C?aq8D9E7LQ^WB=Qg* zT@ks?gdQv*qrn{-hQOqKC=bNE_svtnpB*{En>W#Q>Qi{kHK6 z5k6f>TMSU%QbjJJ_(5R?9$Ai;P#xNSs7=Q($S7J`&E^W3RjlZ&fW%00A1Y~9XXAb< zeQ38wcp~*RlUvZy^Y}IVt-TDCX4{Vv-w(o5QZSS^lrZ%XKbLc6^b-J=DK$gDHNri^ zBm5(pXRdAdD*rKX4=!l3)R5Dh&4CXW>}w%a#W$4YdxUeeX6KddJ`m5@X;fh6(0Y#w zI3Twj*}#3bzBV$rjP+}6UURURn4jDRj{nVL`%B;I$`;P1R*ofgWpwuYAu2WXC3Z>s zcgB)7H{}%lSwWl8tO> zzz|JQ;+Ek`Ro>tjgDi`fElV(?xp|vao5?_Rm!85#MrrKNOUm1qMw9i<(U$fDTa_e5 zxH8|k=h-2WU1@BleRvJ$tWVi@Lig#qW*%rZTl1`4(~;QQmLlAp5Wj5{j(c!5;}S`+w3 z@4tPfl=k&ZGtOY|1zQaGE&b90w0sR-lfUPm!VY3zLeSWvT1L!|ZH#5jW+(`cEz-F{ zs+LCh67|v#`GM&crQ)M>PFS|n&8}2CoK=}rNGy`5B@9@9oujLOL}~|5v>z01Wqwh9 zd44f^t=0Uy$m@ia@g1{^m6-F%FImYL)m3@LI~a0Ey@h-G5J8d26f{+IIg{oZ%^P-k zKvo~f!&$zRlDOBZsj6Pn3{$-(J_08ZXV_rVF#qZ1A9`3Z8sSk`T4vb%@u5V2!(q}1 zx@?V+kxEyC7I_vY%{(W>K4m@ID|)?X{ur#w?}FF;;W}>@(ph&J z<>~urR2LE?-V}GWR!bl>hWqk zRANYFvNzkc*YrewGquu{Mv#{zxOY8@Zi>UThkA*zBTN4?cco}E)1bBT!%Ryhw*&+Z zqN6u0>Db;K4?mUD>8@I<@2eWLySjc;fJgDctXkMLsEX%J>Ze;%&3g}5eA4TQAj!p3 zo)A*zF-c*L!YR(aa{eCq;!q`(*=h^^E#KakV*VN+ueQG2)^j}dY`4*5l*Vi=^CLL{ z#B46GsRa+&xZidHlP(N3SQ+0cCQ+J#Pn`%4ulPZf;Pltff%D8!kax#6+m_~a2VH}- zzOlBY?y)u&H=5VZN6<6)cR_BzTG6!#3Fmgt zn>n?yqXCmYRC}79zz~gd%{Zt_ui?|F2@#5^K7OpVsaWk>rTy#OGwo* zKM-b{tHFYATVu$EB@g={pR27Vf!|oUK5=RmX6YsEMEc8d=&lJ;_ii$G!uD8QVvn0F z_`?W5?$!m)C#h@CVo}`&rP9%_9Hi^JjY1t+JNaUiX|&XVFa6|cIWhO-CSRl%Ks783 z_Fdrzg?4xHh`lE_F0@?UXymufQMzuvLBYNq zxNq*_$&ynqicQ^vb2?s=Uh;I{4o>%HiEJ{jq3A?+Dq$@c%q&XV9%9tHkY9~M1-HYs zPZZy+9kCw^%Pl5tU(~f!8WN*W28+ixmVstQML9SusTJZbD)HBBBxZ4D_blqYM#&cm z@8ffvWXazW!T<_D^}iC|g*nWpvv_*nb-z15K=Rd~Ga~edlSi1c5fKvtSAvrgYFTEz z>kRsF7Ivp@DAv83ea&*tm6VlBs-9B%$oK zgD-_sSiz4MaSDkKF%H*WdyckyQSD)#ddzwC(xqcdFhW~pz#cjfiEo!guepPmUC zX@+t2Z#FJ!MRMOOM~;FFEXvS{>nanF2E#6~p(ncuIVHb_s4pd&FqVTA=+}kbNtkI&q=8 z^)Xu+BQjYG4y%}}1Y~KAaSclIiY<&}c3o}N3=9Jbx2m%oQW+F0j!^FJt28BNaB%g% zpKs3xE~0*d0kn;OmG|R(ffuq}R0RA6KG$0Tz$3vcB#N)Mgbm)`1|KZR^*dEu@x0GC z%0<9Up)rI#M$=-x{@5(OkIv6S-7{V4SMj$YnRvO;yu$|9RT+1=&OFnImO+^|nT^~- zs52;P9_j*@B+5H9>@3n5N7QCpchn5E^e*!pSf{q@+Rf)7Ytq%9CL)|z@>4-_xf7-M zrFJAg3{OC`;+Bl-K;6e~py+C<8##pQNO6`NHvy*_y$(kymD9!l7iI4lo$1o;dncVv z(jD8jZQHifvDLBDv2EM7ZQJ%8+sS>_TIW1_pXcm-#(Ccl^Qt-iRW)nY7}uO*)Tf_Y z=2=%$!)-cBpk*0eg|tzJ48RmTbN@8<32W;!NUchz4XH-P*PhqqL_v6!s)j;pPLILm zQ;WX6zO~$cfPYHhV{Yfu%V;XFKW>}4rWK@*CnM)WNCS*EDQJ70J%wgGpSqT^0kb)f zGeU@qs$o);T0vTkdOfxYmzRKN;B)i0-+67PA?F`ClTYFaTW907hWb{bx?Vk$dEx?^ z1s(O)l2>%7h=yv%&0{w|FcIAKAbj$Ui))Rn(V%bX($F`7L<#6z0qpqE9lKVw7?MTGF}H4T5Dk@70o`% zZeauMwbOX4m&kX8)LVFMO=yw&M&M&`i?2y?WY2`P8#K^uKpU&Nr*jkOo$G?kIs-RHuZs*B7d_FkBs5x^S*e68NAsJxpP=`AeNYlrf$%9Ilb&990D z_qe9z+~b>cR|WSuam`mh`}B3z#zdxf{O?#R6kr1nm2dMau0W|bI*R%8flu=#--=rgZ4t>!DYZ_?NkVqj^$^8T~P)!iMeN^a0g#tfR@EZ_;3*?a2I46m@#xM14WfguloLhQu&^@77|9pdn{R%ElpSqwsIJY@?m(W4`!J z7S#$6YUM3DxKXpKFP2M_xWvs*{{t%HEkN3(>g?=(WnNkCi-pZhEZ&?ekb+P8ay$P@ zwLj%~@yE_}%Xdo_eh+N=+UI$BO*+Txb}nu2BpX|a`FRvpoIj)Ig&f|-0nZnBep1Z; z*?*9M{RV2Ao&Mq9G9ZyR|FP(_Quc>|zO^4MLVe8IS2;C^w!q3|(AfG=GRlOlxr}p; zahbcUim30Qw1c7~@w968QUrk8uu~Z6LO8Lg#u@AvJ6tSIHUaJK656g0t++v->d@mq zeedV!*U%T6J`j;HYPw*$VWlP*C&S0o@80gzafIgxpm0T%8WTGUxoJBE4I`MTKC zwrS}YwJ$eIcFMPldrm!rx~qGwJmk^NDsPzvJy}xnY6>Zb*7F+LnUXQ6g)aT!CO7wd zNm3~p?nuQonxVrSPpiE$`czjxSxoiEFfSKd@wqdSi>fDcfo)erDxveSI!S*@&WqUg zIJ|6f#dEXVYA?xdH`p?HJfxjGkj~C(VvqYEh?D4i*z}$`$RWM@d}7fHMfYB4jGGUa z_mkv=^e)NY3ZBM9^Bgk#6048eq`#lJ(-6!T;1KOK_19O|yi|RYqp<06VKQn@*vwFZj)ZpOZpTH6ozQyT&{JoIB=#&PiHwM zoC=^DtH{V;-!?MZHt#4p?PVKgX7NjKy6MmPfHqi55dIAhsvF@=(~09}Z1kJYzJhx*z8HKN}L>cq$dR2?x<4sN(P z$Hd*2Lj(YrQ-Sxp^h;jhE!)*FZ_iG%(i}5QB+oRcY zf66uX%>8q#+GuQtim5XV+gDrBgj}GUq)Heg> zl9m=Cm@4rWg$J6qqUH$2gysSIdRfEoy6NWoa(4ls`XTnd2XM$?2}C;tOu?0`5lvTG zKn&p1&2+88UgeMF;1KQ*NOEp+$P=y;2(u9F0lSE64nFiACf~~iD9L8dt7@{O<2mC( zcL)oj>kR&f&$as`;Qg+<;XvmQ>W?&%ic_dtGUG?B2}Iq#27@WnRnrYE8?RK%+@Q1< zBO_|J=4@0RZ0)`V_xblUWXj=@WAr za3yjv;~@HGu6Otf*R6-ZBz*djf~3{#=BtYwHs%iVt?Jg(?Xn&jua1u@Y@dd^xvSHL z6&C(F&#AK!Bv}zW7P#l3`RTza`OVt_hO0KC5j~HiOIQ6oVmoG`P1lD`+WBAKhZeC4 zIAk;P?Aa#x0~?4+jN#-t6Btb-K&2pdDgKyfxKOz^N#W#Q88;u5JaZ{knBpREeMdu- zr7f`W!-zWp*Q-<#yA{e_70;^Ho2pXd-~FPIk`Lt&kCb%(-NYeK))d*YcO=Y|{h{Z=t%4fNDSs-d8xDgWPIFQ;eX{SyNAGN!Qr;T`!yJ)y zOp_raal~CWrSLr)GtOk)A${H|28q004hD(Yp&(~^{5FuR+E3y}o5H9mQB6EI zUNL@&P`3|JSg>tbzl8x97c3G$Q2elzBUMVuqR#jp<;#tgs*q-uewB%#fK%Ifh!w>< zMJo&##i{@45}iF~?d0lZQJ~nfauzFMujm)Bb*fN!wWH6%)dt*;HHV_fvY7E2e7XRSg`xfbQFWLO=C?PwhE zK;3778`Qhfe4lA%;#%@X8%1frHf1a35W7%uR)ec#8V$o5&e{CjsAJaC=wSoK7@V`?JLPaIwj5;(_sEDKaUsnvjjasfTHqQX92NYg!8~&TK7nXbK>GK|-T4{Z zzv}Yk?4UbseEjio7=bp1RI(>#O27>cgMRtMfqV0E2WR2?cI!PB{lueu3VsI?4kil_ z$6L+#v@VjU*|N6@pg|qauBvV|gz!Wab5LHdQAwzG*k1BB2-qs_cIq)4|FS`%qlXzG zF4eh4@AEbUNjm&yOxXP6?(XVGa|H;eiC=g<6j3V;l%9jn&JU_7(3$Wl#0$jU1)1m{ zza@7cGuLO0pdjO08;EGV6#TREj{O8Uxfp;GT^0DhKjAj7}UJbnn&o zIr}qs-RQQ~{@7p^hoSA5ACWnqx9lPC-A_zkvJ(L<>@7U@;`i`V`FEc^H@NV=5_X;b zG0i-!O+nkO=9w&5$KRB45k;36ep5IVmU46KT8(qh!d+2O4;28i+;^M{pU<)kQP!o7 z+fl;cKYHhG*I9MA*7Y5 z%-;?96FT;r7hge0L45Q zh19VQlOPrI0noe!yah%%89h{}iAr9)?RYf@+J{NSs>e&oR$VQ5v~JWrih6eIzqZZW zw%&_BO-hI}s(V8oKwzD^0wKH~FjTn$p`Dqb-eWP#>l)~5~mn1b8JK`TqDMF^BXCE34TE z-Hno_B2ip$&Y|JdVoW@A1`t{@9i>I85#+GV(teBQc$J=HZa;WKDwhV_X=J8GNfbwQ zP12cI3n-PD)0vvYm5c8z9A^@hbS@RcD;}=|ozZDCSCmyvKBa~g8V>rElv&|;^xJri z%B11-jcF}U%z8NJ9j-2S$b2+z_e)QzeO>txW_a;Qr}6gi$>26R4OxVB(R(#w1qwLIe5_k_QQOCLl1YjzG8OoII{ zm_6rt>=T8UK+~k-|9mEf4La2KBj-yn%>a5cjK#8NneV0EeUouH6#OvDRN^umyp?*O9*6) zhm1w*g;WwoUFfYW8Zz;pm>Y0li{S31aJka~VfVP`WhiMs_v47y!;r;G(^;~&)xw#m zhC>HQEaP5r?%j`}CsP0fV+N<8Wm}vsQsi}d94A7oB{A!-bdLEuu3~{gjG!6LONs_Y z*#eh8D;dTFK+bH!vg^fE;o~euL2X#4Y6~CV4NW%-n|+js(D{|W4Ftl*rY}w`>T>|u zml$tz9f*n8)X@-^on@Jy76RgX!Xlo+h+t%lIxUwVn zf~A9bmYEjIx5ckcuHvrZTpi@4@&i^YmzDnbJ%||-3>5jpmP~$(R(H8@iGDm-SH5B4%fP$rL-hX1j!=Fa6`u*7_wWYOQePP|oh4|{=de9U z8O`K@G`i6hiNA)ENFz+$(*tD|uI*K5DQ8LkX`Fnx@m{dByl>tFUfBGpy0lzR1#xu_ zR_D$1d$l}CCc2^~;3wkHqynMkOkIGzNe}$VKD9LOmlO{)bO_Rd3wiMX%IkYpikw?4 zH~hk3lw;Dzm?M{jrVWE`Gb2=9?z!?neHMXv=vJ^~HKM8sfj%+ZVCx}D6UgaTCtEA| z;MMRhonXGDM}RT}6xa(E3&{Ljz{qL;A$GZ?7Jkv4>Tr6lG&i_r=6v@bN=CKwFR#f% zfG0Q}1&f3~C9s-uR z^h4EZjm{p?o_8>}`XirKY8t1SUh=QrTkO(xB!W+<9o_AId2Sa)o9f|yHyNRvqB}>< zb*%g`O8Xqy@mwcTW^eydVTJF(PEGH+c{V7uX*aM8N>=8{s;<}Mve+NxR5=BHbw|8s zV+;;>bv6>}4c1McKz)D+;HkN#OISfU%(=U2>9#)V)YFeW)eQFTbnIODA%k8_t!}P- z*^tTH+2FPCP5ryw{kA-dZ|VV#LBf7C0Lhe`wq(ZYi_DSh9xw@*)Hj<}<4)kzzJ&Zm zn<`b#3T?J#*l0GS7rKr=zM5GWDR;)Kv$h(c=HfTvWJ$4Z1yol(Yh8o-Cc~8;!G7>% zw;MO(MDm2sm(9_7uA2F{9m3K2RKe|=;TF>wowA?PmHP6E&o6ng`An64TQS&!G~xgb zcQsU;L&7J$mU*+qz)#B{yb-l8_HKxdSrFx*Tc!)xmpx`^>U(-qvYLrbot#!nZel5t zt^rJd^7`$e-)MfxrxXISz#g7W6&FruYbyCOOdFU#^j&2wO+qkZXOXcbS;m8vhFtv)A7&xkP; zM)jgL%^ujkmGAN{curzCe&M#pZyY~i8JzS4@(U5_g3q=}o*z zl`I=A$)rqG%ps$3xs&J81-C11h(84MjNN0H?!Xc6Ctx3I5YawN zKhd<&JYP3o+iz!mag3lkz0d$h{yY)X>sO#FhJJ(S>?M=|(oFkP8%%b%?+D&;+$98w z@hvL(S!&@-H9Q<~&8->4c~mUo7@eCi%FHMdDI74*Fta&$;_H*+&0hIJ;}3$Bauyo2 z*GlPZhFz~Ocs@qrTG*3it05J_ap!X<$m?3JPoiPzBgY#uSNy4vb2HZCn8e!iivbauOab!Ie^cY8grNP0C~f63agS9uOT zGPE7PwXxf*=3aZ62)=h}!au?S@1lvre0|`O;6UK!K_JU!IT#CijN0AvUP14bk5?x9 zk2a5zbM7+1+&qoZI3*QiGXp1kwYsNo>7oxfp@~eP=^a8w2}y|kU9qV4-6j0>)CG;R zft>`UVrqp#QuKB*fe$LY7f#QX4iTP5sB^0wTm*%r;zUb>>nQ zxubkmwpA|0$JVmPc0bsPmLaX#v`wFbNM9W~0vtkv%R191 zu9T;4H8oi+bomQf=o$>l*;?dE*|6&@9bJC(vk+^FoBgCSGkbJ&k+}kF3-~-Gr08Es zfIPoA+5%rEe6rmFZw{}nh8{j5577&?+#=4tm&v?1bWoGd0IJVCIb~XLH*KTstq>OY z5nuo+SJEQggIOp*j%uyNJV~Vlt}& zBUaxk8F`l0b%!QL;vUiU{Ou{%@fmKtWBr7k10X?Hf?Qw#N5NNxiPhVX5mL}U%%xSY&s=q+v60)#n zv~sN?tFaiWte7R&HB!El|I7v;mouHGPid{&IEOto4aj2VJa^aKs>V~~#F)x@H;u#f za|LBmsT-IjGaq4<3lIq|C+?Z}G<15RYwi`j>^S$%dF?psI0OAfw$0ys-!qz-k@m_g z3|wSP>NU7v{t(IDFV`rIum+RzUtWWz*p!>xoH49%t_DEmh65B z@&?hI&()yI@9Yn%I(O&GKfF0RN-!>cK&5K zKFDM;t*_TDnV|gCt)|&9WGoA7I7C(SWglEM1!Co=+~|MCP0C2_X(VoF-~yCT1xDWy zK1Uz-ylq`~_gwj$pLV>Yow(rPa>wk4Vs7eX&KR$z?umU139|dKzkKe-{VP}0a9t!B zsj5+ELsApL)^W$E=%(->2PoqO)}~OAReJLs>c9ds3z7F~tKUUDsM2!v5{|RnAU*3Unxt;S@6%#_NC)`E?u<@@X(&ULR7{|?y^6TQ+^g1<%{=hcs-(+ z0df~$+c4#3IYqQ9wu{Xcoe+mWL&r3j*Jqm*T>4!p;{jK&Hk?`8t>>IoztJJoRy}G8| zGVam$t(lk|`x8W(mQA1ICELw%o3_i-0{F(5n#b54-V6<9W``%&n$0yIriN!Xl7}8l z`gMA0Fisx?nK$~U;^>a|{@QQ7?|lcQ;=l{TnwU9%evAN+UFcp%ke{&;i%8Tx2=plE z>3nGJ;X0z4N+ODgoT9AC*zUTlZ7NG7zw`U+dW`bxGUaL`u9#ReL?#gfWwQqDD9WK; z&`5Bt$Zs*jHPehstDJHux6L&CiWU&rEqK<38P55H`#8K?Il1q{!?=zcGw(|p!!ur< zv@0#FJ=uovW`i=WRBqhQT7U1NT$I_cJoq7c?AG)~2bqWi=LdeV-V8UolgC&<&l&wP zX)rv7C!6UFz&?p*mXdhz94`g;?|Z0?xiPIw92U{m2gD#G(0tjb>ff z8fdRD3fDnniBZ5)W!9zy?aAsAjyh1Fw;Z(H$d!sU_DL3ieg+tGMxlSuyciiE9pK&M z*U8yS&8I&;mb^a{jdu5l=;U&W=wy7T{%9VdtD`-8P0Ips$}r?AsK}rHkaIaa=k!S2 zu3gZQs|9It1;5p9P=as@jxS?wN@B)Y)Q~eW7aWiXsDrd~NY9F^v7uL^#QSkzIiP%= zb)n6A;*vaCjxFy*&3=ftMJY43jEi-`5%)CziYGtYHW=6Rz?pL)ewT zZ?`oQul2OQCKbNg)YHE`9a;#M$r29ktj#TWKSRdmlg)fvtJ3FtR&-r@;U2E?_?SDd z_D;{S)>YwZcDiBr&E)33t=X{yw1dXC;pL@M@Z*}B>s^#+E2E3%4 z`bJ|PtJTArllBpS#R?lkY#xtAy7Yluu!H_2(CCK{WN+l(Zcbsg?N`gt2Lt^WJPE8a7pQl8~vsHxS|&XDiZwE{2}6Xdm< zOb95z*xlpM533Bo!VFM0CZ)NNQd_O#BEgSh>uk|M1!wf z8K!6O6-~kNn3h(IC_IMD+(wc$e?usT;yB>iUWL{Ey_u|i_@M=N*Y<6s>H~hpri*(| zBJ=#?hVz5f=ZG-;)>J@uih*i?0^5c`su{u-I^Ow@vmg`sECxx$6s#K40MC%rn|6pc zAg=}~rqQbdR})H?Bl6TxK#ql53t5qvb#2W z0E@f1GviW$OM75;uWa$S)d{$du|YTbHCicd)TU%9>%;Hb z52$a~32D7MweSupal*Knc&@?XvYY!da{^<%UiaxUQwQJeWB61+dq9`bMdEN>XJk

kQit)lRuJJ3eC$TZYs9 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℘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 literal 0 HcmV?d00001 diff --git a/hist/2.0.0/baseplus_RainCloudPlot_Ex0.png b/hist/2.0.0/baseplus_RainCloudPlot_Ex0.png new file mode 100644 index 0000000000000000000000000000000000000000..65a46d2469feddee376744d0c54d8611ec34e71c GIT binary patch literal 37349 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 U)p|EN3i(@3>Yilb9pfke3*nvhQvd(} literal 0 HcmV?d00001 diff --git a/hist/2.0.0/baseplus_RainCloudPlot_Ex3.png b/hist/2.0.0/baseplus_RainCloudPlot_Ex3.png new file mode 100644 index 0000000000000000000000000000000000000000..94e815e2d165b5a59931a82fb670ff90d1120611 GIT binary patch literal 84018 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

l>pMqvFTMrE74_rS@_O#)s90ObdlF;B(eHcVfGz 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